SET NOCOUNT (Transact-SQL)

停止在部份結果集中傳回顯示 Transact-SQL 陳述式或預存程序所影響之資料列數的訊息。

主題連結圖示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