本篇文章主要介绍了" SET NOCOUNT Transact-SQL含义",主要涉及到方面的内容,对于SqlServer感兴趣的同学可以参考一下:
阻止在结果集中返回可显示受 Transact-SQL 语句或存储过程影响的行计数的消息。 语法SET NOCOUNT { ON | OFF } 当 SET N...
阻止在结果集中返回可显示受 Transact-SQL 语句或存储过程影响的行计数的消息。
语法
SET NOCOUNT { ON | OFF }
当 SET NOCOUNT 为 ON 时,不返回计数。当 SET NOCOUNT 为 OFF 时,返回计数。
即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。
当 SET NOCOUNT 为 ON 时,将不向客户端发送存储过程中每个语句的 DONE_IN_PROC 消息。如果存储过程中包含一些并不返回许多实际数据的语句,或者如果过程包含 Transact-SQL 循环,网络通信流量便会大量减少,因此,将 SET NOCOUNT 设置为 ON 可显着提高性能。
SET NOCOUNT 指定的设置是在执行或运行时生效,而不是在分析时生效。
权限
要求具有 public 角色的成员身份。
示例
以下示例将禁止显示受影响的行数的消息。
复制代码
USE AdventureWorks2008R2;
GO
SET NOCOUNT OFF;
GO
-- Display the count message.
SELECT TOP(5)LastName
FROM Person.Person
WHERE LastName LIKE 'A%';
GO
-- SET NOCOUNT to ON to no longer display the count message.
SET NOCOUNT ON;
GO
SELECT TOP(5) LastName
FROM Person.Person
WHERE LastName LIKE 'A%';
GO
-- Reset SET NOCOUNT to OFF
SET NOCOUNT OFF;
GO
@@ROWCOUNT (Transact-SQL)
返回受上一语句影响的行数。如果行数大于 20 亿,请使用
ROWCOUNT_BIG。
Transact-SQL 语法约定
语法
@@ROWCOUNT
返回类型
int
注释
Transact-SQL 语句可以通过下列方式设置 @@ROWCOUNT 的值:
执行简单分配的语句始终将 @@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
以上就介绍了 SET NOCOUNT Transact-SQL含义,包括了方面的内容,希望对SqlServer有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_2304203.html