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
Azure SQL Managed Instance
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
@@ROWCOUNT
aus der vorherigen Anweisungsausführung. - Setzen Sie
@@ROWCOUNT
den 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 TRANSACTION
oder 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