PLSQL: получить количество обновленных записей против вставленных при использовании оператора слияния - PullRequest
2 голосов
/ 06 января 2012

Слияние всегда даст вам количество объединенных записей независимо от того, как мои записи вставлены или обновлены с использованием SQL% ROWCOUNT.

Но как узнать количество фактически вставленных записей и количество фактически обновленных записей.

Я пробовал варианты из этого поста, но, похоже, это не работает -

https://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:122741200346595110

Любая помощь?

1 Ответ

5 голосов
/ 06 января 2012

В общем случае вы не можете различить, как на строку, затронутую оператором MERGE, оказали влияние, чтобы получить отдельные значения для вставленных, обновленных и удаленных строк.

Если вам действительно нужны отдельные цифры, вы можете выдавать отдельные операторы INSERT и UPDATE, хотя это, вероятно, будет менее эффективным. Существуют неуниверсальные решения, которые зависят от конкретных планов запросов, но они будут довольно хрупкими и, как правило, не будут рекомендованы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...