获取在sql server存储过程中更新或插入的记录数

Sle*_*lee 3 sql sql-server stored-procedures sql-server-2008

我有一个SP插入一些记录并更新其他记录并删除一些.我想要的是返回插入的内容,更新内容和删除内容的计数值.我以为我可以使用@@ ROWCOUNT,但这总是给我一个1.

我的INSERT之后运行:

PRINT @@ROWCOUNT
Run Code Online (Sandbox Code Playgroud)

但我的消息控制台显示了真正发生的事情和这个数字:

(36 row(s) affected)
1
Run Code Online (Sandbox Code Playgroud)

所以我可以看到36条记录实际更新了,但@@ ROWCOUNT返回1.

我试图在SP的UPDATE和DELETE部分以相同的结果运行之后做同样的事情.

nin*_*ded 8

@@ROWCOUNT将显示受最新语句影响的行数 - 如果您之间有任何语句INSERT,PRINT那么它将给出错误的数字.

你能告诉我们更多的代码,以便我们看到执行的顺序吗?