Contando o número de linhas excluídas em um procedimento armazenado do SQL Server
No SQL Server 2005, existe uma maneira de excluir linhas e saber quantasna realidade deletado?
Eu poderia fazer umselect count(*)
com as mesmas condições, mas eu preciso que isso seja totalmente confiável.
Meu primeiro palpite foi usar o@@ROWCOUNT
variáveis - mas isso não está definido, por exemplo
delete
from mytable
where datefield = '5-Oct-2008'
select @@ROWCOUNT
sempre retorna um 0.
MSDN sugere oOUTPUT
construção, e.
delete from mytable
where datefield = '5-Oct-2008'
output datefield into #doomed
select count(*)
from #doomed
isso realmente falha com um erro de sintaxe.
Alguma ideia?