SQL Server中的@@ROWCOUNT
SQL Server中@@ROWCOUNT返回受上一语句影响的行数,返回值类型为 int 整型。 如果行数大于 20 亿,则需要使用 ROWCOUNT_BIG。
@@ROWCOUNT和@@ERROR变量的值,在执行完一条语句后总是会发生变化,所以我们将他们作为判断的依据的时候应该首先保存在局部变量中。他们反映的都是紧接着的上一条语句对他们的影响!
我们通常可以通过update、insert语句并使用@@ROWCOUNT来检测是否更改了任何一些行。
例如:
UPDATE dbo.Employee SET EmpNo = EmpNo WHERE 1=2 IF @@ROWCOUNT = 0 PRINT '没有数据被修改'; GO
执行结果是:
(0 行受影响)
没有数据被修改
UPDATE dbo.Employee SET EmpNo = EmpNo WHERE 1=1 --修改为全部执行 IF @@ROWCOUNT = 0 PRINT '没有数据被修改'; GO
执行结果是:
(1135 行受影响)