Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Retourne le nombre de lignes affectées par la dernière instruction. Si le nombre de lignes est supérieur à 2 milliards, utilisez ROWCOUNT_BIG.
Conventions de la syntaxe Transact-SQL
Syntaxe
@@ROWCOUNT
Types de retour
int
Notes
Les instructions Transact-SQL peuvent définir la valeur de @@ROWCOUNT la manière suivante :
- Définissez
@@ROWCOUNTle nombre de lignes affectées ou lues. Les lignes peuvent ou ne pas être envoyées au client. - Conservez
@@ROWCOUNTl’exécution de l’instruction précédente. - Réinitialisé
@@ROWCOUNTà 0, mais ne retournez pas la valeur au client.
Les instructions qui effectuent une affectation simple définissent toujours la @@ROWCOUNT valeur 1sur . Aucune ligne n'est envoyée au client. Voici quelques exemples de ces instructions : SET @local_variable, , RETURNREADTEXTet select sans instructions de requête telles que SELECT GETDATE() ou SELECT '<Generic Text>'.
Les instructions qui effectuent une affectation dans une requête ou qui l’utilisent RETURN dans une requête définissent la @@ROWCOUNT valeur sur le nombre de lignes affectées ou lues par la requête, par exemple : SELECT @local_variable = c1 FROM t1.
Les instructions DML (Data Manipulation Language) définissent la @@ROWCOUNT valeur sur le nombre de lignes affectées par la requête et retournent cette valeur au client. Les instructions DML peuvent ne pas envoyer de lignes au client.
DECLARE CURSOR et FETCH définissez la @@ROWCOUNT valeur sur 1.
EXECUTE les instructions conservent les instructions précédentes @@ROWCOUNT.
Instructions telles que USE, SET <option>DEALLOCATE CURSORCLOSE CURSOR, PRINTRAISERROR, , , BEGIN TRANSACTION, ou COMMIT TRANSACTION réinitialiser la ROWCOUNT valeur sur .0
Les procédures stockées compilées en mode natif conservent la précédente @@ROWCOUNT. Les instructions Transact-SQL dans les procédures stockées compilées en mode natif ne définissent @@ROWCOUNTpas . Pour plus d’informations, consultez Procédures stockées compilées en mode natif.
Exemples
L'exemple suivant exécute une instruction UPDATE et utilise @@ROWCOUNT pour déterminer si des lignes ont été modifiées.
USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO