@@ROWCOUNT (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)jaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse

Gibt die Anzahl der Zeilen zurück, auf die sich die letzte Anweisung ausgewirkt hat. Wenn die Anzahl der Zeilen mehr als 2 Milliarden, verwenden ROWCOUNT_BIG.

Topic link icon Transact-SQL-Syntaxkonventionen

  
@@ROWCOUNT  

int

Transact-SQL -Anweisungen können legen Sie den Wert @@ROWCOUNT auf folgende Weise:

  • Legen Sie @@ROWCOUNT auf die Anzahl der Zeilen betroffen sind bzw. davon zu lesen. Zeilen werden möglicherweise an den Client gesendet.

  • Beibehalten @@ROWCOUNT aus der vorherigen anweisungsausführung.

  • Zurücksetzen @@ROWCOUNT auf 0 jedoch keinen Wert an den Client zurück.

Legen Sie die Anweisungen, die eine einfache Zuweisung immer die @@ROWCOUNT den Wert 1. Es werden keine Zeilen an den Client gesendet. Beispiele für diese Anweisungen sind: LEGEN Sie @Local_variable, RETURN, READTEXT und Select ohne abfrageanweisungen wie SELECT GETDATE() oder SELECT "Generic Text".

Anweisungen, die eine Zuweisung in einer Abfrage vornehmen oder RETURN in einer Abfrage der @@ROWCOUNT Wert, der die Anzahl der Zeilen von betroffenen oder gelesenen die Abfrage z. B.: WÄHLEN Sie @Local_variable = c1 FROM t1.

Data Manipulation Language (DML) Anweisungen legen die @@ROWCOUNT -Wert an die Anzahl der Zeilen, die von der Abfrage betroffen sind, und gibt diesen Wert an den Client zurück. Die DML-Anweisungen senden möglicherweise keine Zeilen an den Client.

DECLARE CURSOR und FETCH legen den @@ROWCOUNT den Wert 1.

EXECUTE-Anweisungen behalten die vorherige @@ROWCOUNT-Einstellung bei.

Anweisungen wie z. B. VERWENDEN, LEGEN Sie < Option>, DEALLOCATE CURSOR, CLOSE CURSOR, BEGIN TRANSACTION oder COMMIT TRANSACTION der ROWCOUNT-Wert auf 0 zurückgesetzt.

Systemintern kompilierte gespeicherte Prozeduren erhalten die vorherige @@ROWCOUNT. Transact-SQL Legen Sie die Anweisungen in systemintern kompilierten gespeicherten Prozeduren nicht @@ROWCOUNT. Weitere Informationen finden Sie unter Natively Compiled Stored Procedures.

Das folgende Beispiel führt eine UPDATE-Anweisung aus und erkennt mithilfe von @@ROWCOUNT, ob Zeilen geändert wurden.

USE AdventureWorks2012;  
GO  
UPDATE HumanResources.Employee   
SET JobTitle = N'Executive'  
WHERE NationalIDNumber = 123456789  
IF @@ROWCOUNT = 0  
PRINT 'Warning: No rows were updated';  
GO  

Systemfunktionen ( Transact-SQL )
SET ROWCOUNT ( Transact-SQL )

Community-Beiträge

HINZUFÜGEN
Anzeigen: