Подсчет количества удаленных строк в хранимой процедуре SQL Server
В 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
это на самом деле не с синтаксической ошибкой.
Есть идеи?