【发布时间】:2010-09-15 12:08:57
【问题描述】:
在 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
这实际上因语法错误而失败。
有什么想法吗?
【问题讨论】:
标签: sql-server tsql audit sql-delete