Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Base de données SQL dans Microsoft Fabric
Demande à SQL Server d'arrêter l'exécution de la requête après avoir renvoyé le nombre de lignes spécifié.
Conventions de la syntaxe Transact-SQL
Syntaxe
SET ROWCOUNT { number | @number_var }
Arguments
Numéro | @number_var
Nombre (entier) de lignes à traiter avant l'arrêt de la requête spécifiée.
Notes
Important
L’utilisation SETSET ROWCOUNT n’affectera DELETEpas , INSERT, et UPDATE les instructions dans une future version de SQL Server. Évitez d’utiliser SETSET ROWCOUNT des instructions avec DELETE, INSERT, et UPDATE dans les nouveaux travaux de développement, et prévoyez de modifier les applications qui les utilisent actuellement. Pour un comportement semblable, utilisez la syntaxe TOP. Pour plus d’informations, consultez TOP (Transact-SQL).
Pour désactiver cette option afin que toutes les lignes soient retournées, spécifiez SET ROWCOUNT 0.
Définir cette SET ROWCOUNT option fait que la plupart des instructions Transact-SQL arrêtent le traitement lorsqu’elles ont été affectées par le nombre de lignes spécifié. Cela inclut les déclencheurs. Cette ROWCOUNT option n’affecte pas les curseurs dynamiques, mais elle limite le jeu de lignes de claviers et les curseurs insensibles. Il convient d'être prudent lors de l'utilisation de cette option.
SET ROWCOUNT supprime le mot-clé SELECT statement TOP si le nombre de lignes est la plus petite valeur.
Le paramètre est défini au moment de SET ROWCOUNT l’exécution ou de l’exécution et non au moment de l’analyse.
Autorisations
Nécessite l'appartenance au rôle public.
Exemples
SET ROWCOUNT arrête le traitement après le nombre de lignes spécifié. Dans cet exemple, notez que plus de 500 lignes répondent aux critères de Quantity inférieure à 300. Cependant, après la candidature SET ROWCOUNT, vous pouvez voir que toutes les lignes n’ont pas été retournées.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Voici le jeu de résultats.
Count
-----------
537
(1 row(s) affected)
Définissez maintenant ROWCOUNT sur 4 et retournez toutes les lignes pour démontrer que seules 4 lignes sont retournées.
SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
-- (4 row(s) affected)
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
SET ROWCOUNT arrête le traitement après le nombre de lignes spécifié. Dans cet exemple, notez que plus de 20 lignes répondent aux critères de AccountType = 'Assets'. Cependant, après la candidature SET ROWCOUNT, vous pouvez voir que toutes les lignes n’ont pas été retournées.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
Pour retourner toutes les lignes, réglez ROWCOUNT à 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';