@@CURSOR_ROWS (Transact-SQL)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Cette fonction retourne le nombre de lignes éligibles se trouvant actuellement dans le dernier curseur ouvert sur la connexion. Afin d'améliorer les performances, SQL Server peut charger de grands curseurs pilotés par jeux de clés et curseurs statiques de manière asynchrone. @@CURSOR_ROWS
peut être appelée pour déterminer que le nombre de lignes éligibles pour un curseur sont extraites au moment de l’appel @@CURSOR_ROWS.
Conventions de la syntaxe Transact-SQL
Syntaxe
@@CURSOR_ROWS
Remarque
Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.
Types de retour
integer
Valeur de retour
Valeur retournée | Description |
---|---|
-m | Le curseur se remplit de façon asynchrone. La valeur retournée (-m) correspond au nombre de lignes figurant actuellement dans le jeu de clés. |
-1 | Le curseur est dynamique. Sachant que les curseurs dynamiques reflètent toutes les modifications, le nombre de lignes éligibles pour le curseur varie constamment. Le curseur ne récupère pas nécessairement toutes les lignes éligibles. |
0 | Aucun curseur n'a été ouvert, aucune ligne n'a été qualifiée pour le dernier curseur ouvert ou le dernier curseur ouvert est fermé ou désalloué. |
n | Le curseur est totalement rempli. La valeur retournée (n) correspond au nombre total de lignes du curseur. |
Notes
@@CURSOR_ROWS
retourne un nombre négatif si le dernier curseur s’est ouvert de façon asynchrone. Les curseurs de jeu de clés ou les curseurs statiques s’ouvrent de façon asynchrone si la valeur du seuil de curseur sp_configure est supérieure à 0 et si le nombre de lignes contenues dans le jeu de résultats du curseur est supérieur au seuil du curseur.
Exemples
Cet exemple déclare d’abord un curseur et utilise ensuite SELECT
pour afficher la valeur de @@CURSOR_ROWS
. Le paramètre a pour valeur 0
avant l’ouverture du curseur et prend ensuite la valeur -1
pour indiquer que le jeu de clés du curseur est rempli de façon asynchrone.
USE AdventureWorks2022;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR FOR
SELECT LastName ,@@CURSOR_ROWS FROM Person.Person;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
Voici les jeux de résultats obtenus.
-----------
0
LastName
---------------
Sanchez
-----------
-1
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour