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?

questionAnswers(7)

yourAnswerToTheQuestion