Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Magazyn w Microsoft Fabric
Baza 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