Contar el número de filas eliminadas en un procedimiento almacenado de SQL Server

En SQL Server 2005, ¿hay una manera de eliminar filas y se le dice cuántos fueronactualmente eliminado?

Yo podria hacer unselect count(*) con las mismas condiciones, pero necesito que esto sea completamente confiable.

Mi primera suposición fue usar el@@ROWCOUNT variables, pero eso no está establecido, por ejemplo,

delete 
from mytable 
where datefield = '5-Oct-2008' 

select @@ROWCOUNT 

Siempre devuelve un 0.

MSDN sugiere laOUTPUT construcción, por ejemplo

delete from mytable 
where datefield = '5-Oct-2008' 
output datefield into #doomed

select count(*) 
from #doomed

esto realmente falla con un error de sintaxis.

¿Algunas ideas?

Respuestas a la pregunta(7)

Su respuesta a la pregunta