这似乎应该很简单,但我找不到解决方法。
set nocount on;
Update MyTable
set MyField = 'value'
--where 1 = 1/0 -- comment in to test getting an error.
print convert(varchar, @@error)
print "blah blah" + convert(nvarchar, @@rowcount) -- this is always zero because of the previous statement
我尝试将它们存储在变量中,但是设置变量会生成新的@@ rowcount和新的@@ error值。
我也尝试使用if条件,因为我不在乎行数。但是评估if似乎也会重置@@ rowcount。
答案 0 :(得分:2)
您可以在单个语句中完成此操作,如下所示:
DECLARE @err INT, @cnt INT
SELECT @err=@@ERROR, @cnt=@@ROWCOUNT