如何获得已删除记录的数量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

我有一个删除某些记录的存储过程。我要知道被删除的记录的数量。

我试着这样做:

DELETE FROM OperationsV1.dbo.Files WHERE FileID = @FileID   
SELECT @@ROWCOUNT AS DELETED;            

但删除后显示为0,尽管删除了适当的记录。我试着把NOCOUNT放走,但没有成功。你能帮忙吗?谢谢。

提问于
用户回答回答于

这应该很好。设置NOCOUNT是无关紧要的。

你有两个之间有任何陈述,你已经显示?@@ROWCOUNT在每个语句之后重置,因此你必须立即检索该值,而不插入语句。

用户回答回答于

我在调试存储过程时使用此代码段来验证操作后的计数,例如删除:

DELCARE @Msg varchar(30)
...
SELECT @Msg = CAST(@@ROWCOUNT AS VARCHAR(10)) + ' rows affected'
RAISERROR (@Msg, 0, 1) WITH NOWAIT

扫码关注云+社区