Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Lager in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Steuert, ob eine Meldung bezüglich der Anzahl der von einer Transact-SQL-Anweisung oder gespeicherten Prozedur betroffenen Zeilen nach dem Resultset zurückgegeben wird. Diese Nachricht ist ein zusätzlicher Resultset.
Transact-SQL-Syntaxkonventionen
Syntax
SET NOCOUNT { ON | OFF }
Hinweise
Ist SET NOCOUNT dies ONder Zeitpunkt, wird die Anzahl nicht zurückgegeben. Ist SET NOCOUNT dies OFFder Wert, wird die Anzahl zurückgegeben.
Die @@ROWCOUNT Funktion wird auch dann aktualisiert, wenn SET NOCOUNT dies der Zeitpunkt ist ON.
SET NOCOUNT ON verhindert das Senden von DONEINPROC Nachrichten an den Client für jede Anweisung in einer gespeicherten Prozedur. Bei gespeicherten Prozeduren, die mehrere Anweisungen enthalten, die keine viel tatsächlichen Daten zurückgeben, oder für Prozeduren, die Transact-SQL-Schleifen enthalten, kann die Einstellung SET NOCOUNTON eine erhebliche Leistungssteigerung bieten, da der Netzwerkdatenverkehr erheblich reduziert wird.
Die angegebene SET NOCOUNT Einstellung ist zur Ausführung oder Laufzeit wirksam und nicht zur Analysezeit.
Um die aktuelle Einstellung anzuzeigen, führen Sie die folgende Abfrage aus.
DECLARE @NOCOUNT VARCHAR(3) = 'OFF';
IF ((512 & @@OPTIONS) = 512)
SET @NOCOUNT = 'ON';
SELECT @NOCOUNT AS NOCOUNT;
Berechtigungen
Erfordert die Mitgliedschaft in der public -Rolle.
Beispiele
Im folgenden Beispiel wird verhindert, dass die Meldung zur Anzahl der betroffenen Zeilen angezeigt wird. Im folgenden Beispiel (5 rows affected) wird nur von der ersten SELECT Anweisung an Clients zurückgegeben.
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