Udostępnij za pomocą


USTAW NIELICZENIE (Transact-SQL)

Dotyczy do:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMagazyn w Microsoft FabricBaza danych SQL w Microsoft Fabric

Kontroluje, czy komunikat pokazujący liczbę wierszy dotkniętych instrukcją Transact-SQL lub procedurą przechowywaną zostanie zwrócony po zbiorze wyników. Ta wiadomość jest dodatkowym zestawem wyników.

Transact-SQL konwencje składni

Składnia

SET NOCOUNT { ON | OFF }

Uwagi

Gdy SET NOCOUNT jest ON, liczba nie jest zwracana. Gdy SET NOCOUNT jest , OFFliczba jest zwracana.

Funkcja jest @@ROWCOUNT aktualizowana nawet wtedy, gdy SET NOCOUNT jest .ON

SET NOCOUNT ON uniemożliwia wysyłanie DONEINPROC wiadomości do klienta dla każdego pociągu w procedurze przechowywanej. Dla procedur przechowywanych zawierających kilka instrukcji, które nie zwracają zbyt wiele rzeczywistych danych, lub dla procedur zawierających Transact-SQL pętle, ustawienie SET NOCOUNT na ON może zapewnić znaczący wzrost wydajności, ponieważ ruch sieciowy jest znacznie ograniczony.

Ustawienie określone przez SET NOCOUNT obowiązuje w czasie wykonywania lub działania, a nie w czasie parsowania.

Aby zobaczyć aktualne ustawienie dla tego ustawienia, uruchom następujące zapytanie.

DECLARE @NOCOUNT VARCHAR(3) = 'OFF';

IF ((512 & @@OPTIONS) = 512)
    SET @NOCOUNT = 'ON';

SELECT @NOCOUNT AS NOCOUNT;

Permissions

Wymaga członkostwa w publicznej roli .

Przykłady

Poniższy przykład zapobiega wyświetlaniu komunikatu o liczbie dotkniętych wierszy. W poniższym przykładzie jest (5 rows affected) zwracany klientom tylko z pierwszego SELECT zawołania.

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