Delen via


@@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, , , READTEXTen select zonder query-statements zoals SELECT GETDATE() of SELECT '<Generic Text>'RETURN.

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.

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