SQL Server中的@@ROWCOUNT

Posted 守护者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 行受影响)

 

以上是关于SQL Server中的@@ROWCOUNT的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server中Rowcount与@@Rowcount的用法

SQL Server中Rowcount与@@Rowcount的用法

将@@ rowcount分配给SQL Server存储过程中的变量

Oracle sql%rowcount 返回影响行数;sql server @@RowCount返回影响行数

@@ROWCOUNT (Transact-SQL)

Oracle中的sql%rowcount在瀚高数据库中的兼容方案