В SQL Server 2005 есть ли способ удалить строки и сообщить, сколько из них было на самом деле удалено?Подсчет количества удаленных строк в хранимой процедуре SQL Server
Я мог бы сделать 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
Это фактически не выполняется с синтаксической ошибкой.
Любые идеи?
Я думал, что я пробовал это, но, видимо, я этого не делал, потому что это работало как шарм - спасибо. – Unsliced 2008-10-06 13:07:48