SQL Server 2005では、行を削除して実際に削除された行数を通知する方法はありますか?
私はselect count(*)
同じ条件で行うことができますが、これは完全に信頼できるものである必要があります。
私の最初の推測は@@ROWCOUNT
変数を使用することでした-しかしそれは設定されていません、例えば
delete
from mytable
where datefield = '5-Oct-2008'
select @@ROWCOUNT
常に0を返します。
MSDNはOUTPUT
構造を提案します。
delete from mytable
where datefield = '5-Oct-2008'
output datefield into #doomed
select count(*)
from #doomed
これは実際には構文エラーで失敗します。
何か案は?