@@ROWCOUNT (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Geeft het aantal rijen terug dat door de laatste uitspraak is beïnvloed. Als het aantal rijen meer dan 2 miljard is, gebruik dan ROWCOUNT_BIG.

Transact-SQL syntaxis-conventies

Syntaxis

@@ROWCOUNT

Retourtypen

int

Opmerkingen

Transact-SQL statements kunnen de waarde instellen in @@ROWCOUNT op de volgende manieren:

  • Stel in @@ROWCOUNT op het aantal rijen dat wordt getroffen of gelezen. Rijen kunnen wel of niet naar de cliënt worden gestuurd.
  • Behoud @@ROWCOUNT de uitvoering van de vorige statement.
  • Reset @@ROWCOUNT naar 0, maar geef de waarde niet terug aan de client.

Stellingen die een eenvoudige toewijzing maken, zetten altijd de @@ROWCOUNT waarde op 1. Er worden geen rijen naar de client gestuurd. Voorbeelden van deze statements zijn: SET @local_variable, , , RETURNen select zonder query-statements zoals READTEXT of SELECT GETDATE()SELECT '<Generic Text>'.

Statements die een toewijzing maken in een query of gebruiken RETURN in een query stellen de @@ROWCOUNT waarde in op het aantal rijen dat door de query wordt beïnvloed of gelezen, bijvoorbeeld: SELECT @local_variable = c1 FROM t1.

Data Manipulatietaal (DML)-statements stellen de @@ROWCOUNT waarde in op het aantal rijen dat door de query wordt beïnvloed en geven die waarde terug aan de client. De DML-statements sturen mogelijk geen rijen naar de client.

DECLARE CURSOR en FETCH stel de @@ROWCOUNT waarde in op 1.

EXECUTE stellingen behouden het vorige @@ROWCOUNT.

Stellingen zoals USE, SET <option>, DEALLOCATE CURSOR, CLOSE CURSOR, PRINT, , RAISERROR, BEGIN TRANSACTION, , of COMMIT TRANSACTION reset de ROWCOUNT waarde naar 0.

Native gecompileerde opgeslagen procedures behouden de vorige @@ROWCOUNT. Transact-SQL statements binnen native gecompileerde opgeslagen procedures stellen @@ROWCOUNTniet . Zie Systeemeigen opgeslagen procedures voor meer informatie.

Voorbeelden

Het volgende voorbeeld voert een UPDATE instructie uit en wordt gebruikt @@ROWCOUNT om te detecteren of er rijen zijn gewijzigd.

Note

In Azure SQL Database en SQL Database in Microsoft Fabric is de USE instructie niet beschikbaar. Maak in plaats daarvan direct verbinding met de beoogde database en voer de rest van het codevoorbeeld uit.

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