挿入カウントと更新カウントを別々に取得する組み込みの方法はありません。 SQL%ROWCOUNT
おそらくすでにご存知のように、マージされた行の数がわかりますが、挿入と更新に別々の値を取得するのに相当するものはありません。
AdrianBillingtonによるこの記事 は、マージに関数呼び出しを含めることで情報を取得する方法を示しています。これにより、少しオーバーヘッドが追加される可能性があります。
OracleフォーラムのMichaelS
からも、同様の、おそらくより単純なトリックがあります。 もちろん、私もまったく信用できません。ここで再現したいのですが、それが許可されているかどうかはわかりませんが、基本的にはsys_context
を使用しています。 エイドリアンのソリューションがパッケージ変数で行ったのとほぼ同じ方法で、カウントを維持します。きれいで、フォローやメンテナンスが簡単だと思うので、これを使用します。
まだリンクのみの答えに危険なほど近づいていますが、他の人の仕事を盗用したくありません...