SET NOCOUNT(Transact-SQL)
적용 대상: Microsoft Fabric의 SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Warehouse
Transact-SQL 문 또는 저장 프로시저의 영향을 받는 행 수를 표시하는 메시지가 결과 집합 후에 반환되는지 여부를 제어합니다. 이 메시지는 추가 결과 집합입니다.
구문
SET NOCOUNT { ON | OFF }
설명
이 ON
경우 SET NOCOUNT
개수가 반환되지 않습니다. 이 경우 SET NOCOUNT
OFF
개수가 반환됩니다.
이 함수는 @@ROWCOUNT
다음과 같은 경우에도 SET NOCOUNT
업데이트됩니다 ON
.
SET NOCOUNT ON
는 저장 프로시저의 DONEINPROC
각 문에 대해 클라이언트에 메시지를 보내는 것을 방지합니다. 많은 실제 데이터를 반환하지 않는 여러 문이 포함된 저장 프로시저 또는 Transact-SQL 루프 SET NOCOUNT
가 포함된 프로시저의 경우 네트워크 트래픽이 크게 감소하므로 ON
성능이 크게 향상될 수 있습니다.
지정된 SET NOCOUNT
설정은 구문 분석 시간이 아니라 실행 또는 런타임에 적용됩니다.
이 설정에 대한 현재 설정을 보려면 다음 쿼리를 실행합니다.
DECLARE @NOCOUNT VARCHAR(3) = 'OFF';
IF ((512 & @@OPTIONS) = 512)
SET @NOCOUNT = 'ON';
SELECT @NOCOUNT AS NOCOUNT;
사용 권한
public 역할의 멤버 자격이 필요합니다.
예제
다음 예에서는 영향을 받은 행 수에 대한 메시지가 표시되지 않도록 지정합니다. 다음 예제 (5 rows affected)
에서는 첫 번째 SELECT
문에서 클라이언트로만 반환됩니다.
USE AdventureWorks2022;
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