SQL SET NOCOUNT (Transact-SQL) - 不显示行数结果集的返回消息
功能描述:停止显示受Transact-SQL语句或存储过程影响的行数作为结果集的一部分返回的消息。(使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息。)
原型:
SET NOCOUNT { ON | OFF }
说明:
- 当SET NOCOUNT为ON时,不返回计数。当SET NOCOUNT关闭时,将返回计数。
- @@ROWCOUNT函数即使在SET NOCOUNT打开时也会更新。
- SET NOCOUNT ON禁止将DONE_IN_PROC消息发送到存储过程中的每个语句的客户端。对于包含多个不返回太多实际数据的语句的存储过程,或对于包含Transact-SQL循环的过程,将SET NOCOUNT设置为ON可以显著提高性能,因为网络流量大大减少。
- 在 Transact-SQL 语句(如 SELECT、INSERT、 UPDATE 和 DELETE)结束时将不会在查询结果中显示"nn rows affected"。
- SET NOCOUNT指定的设置在执行或运行时生效,而不是在解析时生效。
查看此设置的当前设置示例:
DECLARE @NOCOUNT VARCHAR(3) = 'OFF';
IF ( (512 & @@OPTIONS) = 512 ) SET @NOCOUNT = 'ON';
SELECT @NOCOUNT AS NOCOUNT;
以下示例阻止显示有关受影响行数的消息
USE AdventureWorks2012;
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
创建时间:2020.10.14 更新时间: