Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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