В 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
это фактически не с синтаксической ошибкой.
Есть идеи?