您的位置:首页 > 其它

@@ROWCOUNT 含义

2015-12-27 01:51 323 查看


@@ROWCOUNT 含义

返回受上一语句影响的行数。 如果行数大于 20 亿,请使用 ROWCOUNT_BIG

Transact-SQL 语句可以通过下列方式设置 @@ROWCOUNT 的值:

将 @@ROWCOUNT 设置为受影响或被读取的行的数目。 可以将行发送到客户端,也可以不发送。

保留前一个语句执行中的 @@ROWCOUNT。

将 @@ROWCOUNT 重置为 0 但不将该值返回到客户端。

执行简单分配的语句始终将 @@ROWCOUNT 值设置为 1。 不将任何行发送到客户端。 这些语句的示例如下:SET
@local_variable、RETURN、READTEXT 以及不带查询的 Select 语句,如 SELECT GETDATE() 或 SELECT 'Generic Text'。
在查询中进行分配或使用 RETURN 的语句将 @@ROWCOUNT 值设置为受查询影响的行数或查询读取的行数,例如:SELECT @local_variable =
c1 FROM t1。
数据操作语言 (DML) 语句将 @@ROWCOUNT 值设置为受查询影响的行数,并将该值返回到客户端。 DML 语句不会将任何行发送到客户端。
DECLARE CURSOR 和 FETCH 将 @@ROWCOUNT 值设置为 1。
EXECUTE 语句保留前一个 @@ROWCOUNT。
USE、SET <选项>、DEALLOCATE CURSOR、CLOSE CURSOR、BEGIN TRANSACTION 或 COMMIT TRANSACTION 等语句将 ROWCOUNT 值重置为 0。
本机编译存储过程保留以前的 @@ROWCOUNT。 本机编译存储过程中的 Transact-SQL 语句不设置 @@ROWCOUNT。 有关详细信息,请参阅本机编译的存储过程简介

示例


以下示例执行 UPDATE 语句并使用 @@ROWCOUNT 来检测是否更改了任何行。





USE AdventureWorks2012;
GO
UPDATE HumanResources.Employee 
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO


分类: 学生时代07(不再编辑)

好文要顶 关注我 收藏该文








慧可

关注 - 27

粉丝 - 123

+加关注

0

0

(请您对文章做出评价)

« 上一篇:SQL
SERVER 自带系统存储过程分类

» 下一篇:数据库范式(1NF
2NF 3NF BCNF)详解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: