Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar antalet rader som påverkats av det senaste påståendet. Om antalet rader är mer än 2 miljarder, använd ROWCOUNT_BIG.
Transact-SQL syntaxkonventioner
Syntax
@@ROWCOUNT
Returtyper
int
Anmärkningar
Transact-SQL satser kan sätta värdet i @@ROWCOUNT på följande sätt:
- Ställ
@@ROWCOUNTin på antalet rader som påverkas eller läses. Radrader kan skickas till klienten eller inte. - Bevara
@@ROWCOUNTfrån föregående satsexekvering. - Återställ
@@ROWCOUNTtill 0 men returnera inte värdet till klienten.
Satser som gör en enkel tilldelning sätter @@ROWCOUNT alltid värdet till 1. Inga rader skickas till klienten. Exempel på dessa satser är: SET @local_variable, , , READTEXToch select utan frågesatser såsom SELECT GETDATE() eller SELECT '<Generic Text>'RETURN.
Satser som gör en tillordning i en fråga eller använder RETURN i en fråga sätter @@ROWCOUNT värdet till antalet rader som påverkas eller läses av frågan, till exempel: SELECT @local_variable = c1 FROM t1.
Data manipulation language (DML)-satser sätter @@ROWCOUNT värdet till antalet rader som påverkas av frågan och returnerar det värdet till klienten. DML-uttalandena kanske inte skickar några rader till klienten.
DECLARE CURSOR och FETCH sätt @@ROWCOUNT värdet till 1.
EXECUTE Satser bevarar det föregående @@ROWCOUNT.
Påståenden som , , , , , PRINT, RAISERROR, BEGIN TRANSACTION, eller COMMIT TRANSACTION återställer ROWCOUNT värdet till 0. CLOSE CURSORDEALLOCATE CURSORSET <option>USE
Nativt kompilerade lagrade procedurer bevarar föregående @@ROWCOUNT. Transact-SQL satser i nativt kompilerade lagrade procedurer sätter @@ROWCOUNTinte . Mer information finns i Internt kompilerade lagrade procedurer.
Examples
Följande exempel exekverar ett UPDATE uttalande och används @@ROWCOUNT för att upptäcka om några rader har ändrats.
USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO