sp_cursorexecute (Transact-SQL)
S'applique à : SQL Server
Crée et remplit un curseur basé sur le plan d'exécution créé par sp_cursorprepare. Cette procédure, associée à sp_cursorprepare, a la même fonction que sp_cursoropen, mais est divisée en deux phases. sp_cursorexecute est appelée en spécifiant l’ID =4 dans un paquet TDS (Tabular Data Stream).
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_cursorexecute prepared_handle, cursor
[ , scrollopt[ OUTPUT ]
[ , ccopt[ OUTPUT ]
[ ,rowcount OUTPUT [ ,bound param][,...n]]]]]
Arguments
prepared_handle
Valeur de handle d’instruction préparée retournée par sp_cursorprepare. prepared_handle est un paramètre obligatoire qui appelle une valeur d’entrée int.
cursor
Identificateur de curseur généré par SQL Server. le curseur est un paramètre obligatoire qui doit être fourni sur toutes les procédures suivantes qui agissent sur le curseur, comme sp_cursorfetch
scrollopt
Option de défilement. scrollopt est un paramètre facultatif qui nécessite une valeur d’entrée int . Le paramètre scrollopt sp_cursorexecutea les mêmes options de valeur que celles de sp_cursoropen.
Remarque
La valeur PARAMETERIZED_STMT n'est pas prise en charge.
Important
Si aucune valeur scrollopt n’est spécifiée, la valeur par défaut est KEYSET, quelle que soit la valeur scrollopt spécifiée dans sp_cursorprepare.
ccopt
Option de contrôle monétaire. ccopt est un paramètre facultatif qui nécessite une valeur d’entrée int . Le paramètre ccopt sp_cursorexecutea les mêmes options de valeur que celles de sp_cursoropen.
Important
Si aucune valeur ccopt n’est spécifiée, la valeur par défaut est OPTIMISTE, quelle que soit la valeur ccopt spécifiée dans sp_cursorprepare.
rowcount
Paramètre optionnel qui indique le nombre de lignes de tampon d'extraction à utiliser avec AUTO_FETCH. La valeur par défaut est de 20 lignes. rowcount se comporte différemment lorsqu’il est affecté en tant que valeur d’entrée par rapport à une valeur de retour.
Comme une valeur d'entrée | Comme une valeur de retour |
---|---|
Lorsque AUTO_FETCH est spécifié avec FAST_FORWARD nombre de lignes de curseurs représente le nombre de lignes à placer dans la mémoire tampon d’extraction. | Représente le nombre de lignes dans le jeu de résultats. Lorsque la valeur de défilement AUTO_FETCH est spécifiée, le nombre de lignes retourne le nombre de lignes extraites dans la mémoire tampon d’extraction. |
bound_param
Indique l'utilisation facultative de paramètres supplémentaires.
Remarque
Tous les paramètres après le cinquième sont passés au plan d'instruction comme paramètres d'entrée.
Valeur de retour de code
rowcount peut retourner les valeurs suivantes.
Valeur | Description |
---|---|
-1 | Nombre de lignes inconnues. |
-n | Un remplissage asynchrone est appliqué. |
Notes
Paramètres scrollopt et ccopt
scrollopt et ccopt sont utiles lorsque les plans mis en cache sont préemptés pour le cache du serveur, ce qui signifie que le handle préparé identifiant l’instruction doit être recompilé. Les valeurs de paramètre scrollopt et ccopt doivent correspondre aux valeurs envoyées dans la requête d’origine pour sp_cursorprepare.
Remarque
PARAMETERIZED_STMT ne doit pas être affecté à scrollopt.
L'incapacité à fournir des valeurs correspondantes entraînera la recompilation des plans, annulant ainsi les opérations de préparation et d'exécution.
Éléments RPC et TDS à prendre en considération
Il est possible d'affecter à l'indicateur d'entrée RPC RETURN_METADATA la valeur 1 pour demander que les métadonnées relatives à la liste de sélection du curseur soient retournées dans le flux TDS.
Voir aussi
sp_cursoropen (Transact-SQL)
sp_cursorfetch (Transact-SQL)
Procédures stockées système (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour