Zählen der Anzahl gelöschter Zeilen in einer gespeicherten SQL Server-Prozedur

In SQL Server 2005 gibt es eine Möglichkeit, Zeilen zu löschen und zu erfahren, wie viele es warentatsächlich gelöscht?

Ich könnte ein machenselect count(*) unter den gleichen Bedingungen, aber ich brauche dies, um absolut vertrauenswürdig zu sein.

Meine erste Vermutung war, das zu benutzen@@ROWCOUNT Variablen - aber das ist nicht gesetzt, z.

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

select @@ROWCOUNT 

Gibt immer eine 0 zurück.

MSDN schlägt das vorOUTPUT Konstruktion, z.B.

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

select count(*) 
from #doomed

Dies schlägt tatsächlich mit einem Syntaxfehler fehl.

Irgendwelche Ideen?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage