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-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
Gibt die Anzahl der Zeilen zurück, auf die sich die letzte Anweisung ausgewirkt hat. Beträgt die Anzahl der Zeilen mehr als 2 Milliarden, verwenden Sie ROWCOUNT_BIG.
Transact-SQL-Syntaxkonventionen
Syntax
@@ROWCOUNT
Rückgabetypen
int
Hinweise
Transact-SQL-Anweisungen können den Wert auf @@ROWCOUNT folgende Weise festlegen:
- Wird auf die Anzahl der betroffenen Zeilen oder lesevorgänge festgelegt
@@ROWCOUNT. Zeilen können an den Client gesendet werden. - Beibehalten
@@ROWCOUNTaus der vorherigen Anweisungsausführung. - Setzen Sie
@@ROWCOUNTden Wert auf 0 zurück, geben Sie den Wert jedoch nicht an den Client zurück.
Anweisungen, die eine einfache Zuordnung machen, legen immer den @@ROWCOUNT Wert auf 1. Es werden keine Zeilen an den Client gesendet. Beispiele für diese Anweisungen sind: SET @local_variable, RETURN, READTEXT, und wählen Sie ohne Abfrageanweisungen wie SELECT GETDATE() oder SELECT '<Generic Text>'.
Anweisungen, die eine Zuweisung in einer Abfrage vornehmen oder in einer Abfrage verwenden RETURN , legen den @@ROWCOUNT Wert auf die Anzahl der betroffenen Zeilen fest oder werden von der Abfrage gelesen, z. B.: SELECT @local_variable = c1 FROM t1.
Dml-Anweisungen (Data Manipulation Language) legen den @@ROWCOUNT Wert auf die Anzahl der zeilen fest, die von der Abfrage betroffen sind, und geben diesen Wert an den Client zurück. Die DML-Anweisungen senden möglicherweise keine Zeilen an den Client.
DECLARE CURSOR und FETCH legen Sie den @@ROWCOUNT Wert auf 1.
EXECUTE Anweisungen behalten die vorherige @@ROWCOUNT.
Anweisungen wie USE, , SET <option>, DEALLOCATE CURSOR, CLOSE CURSOR, PRINT, , RAISERROR, , BEGIN TRANSACTIONoder COMMIT TRANSACTION setzen den ROWCOUNT Wert auf 0.
Nativ kompilierte gespeicherte Prozeduren behalten die vorherige @@ROWCOUNT. Transact-SQL-Anweisungen in nativ kompilierten gespeicherten Prozeduren werden nicht festgelegt @@ROWCOUNT. Weitere Informationen finden Sie unter Nativ kompilierte gespeicherte Prozeduren.
Beispiele
Das folgende Beispiel führt eine UPDATE-Anweisung aus und erkennt mithilfe von @@ROWCOUNT, ob Zeilen geändert wurden.
USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO