sp_cursorexecute (Transact-SQL)

S’applique à : ouiSQL Server (toutes les versions prises en charge)

Crée et remplit un curseur basé sur le plan d'exécution créé par sp_cursorprepare. Cette procédure, couplée avec sp_cursorprepare, a la même fonction que sp_cursoropen, mais est fractionnée en deux phases. sp_cursorexecute est appelée en spécifiant ID = 4 dans un paquet tabular data stream (TDS).

Icône du lien de rubrique 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 requiert une valeur d’entrée int .

cursor
identificateur de curseur généré par le SQL Server. Cursor est un paramètre obligatoire qui doit être fourni pour toutes les procédures suivantes qui agissent sur le curseur, par exemple sp_cursorfetch

scrollopt
Option de défilement. scrollopt est un paramètre facultatif qui requiert une valeur d’entrée int . Le paramètre sp_cursorexecute scrollopt a les mêmes options de valeur que celles pour sp_cursoropen.

Notes

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 de la devise. ccopt est un paramètre facultatif qui requiert une valeur d’entrée int . Le paramètre sp_cursorexecute ccopt a les mêmes options de valeur que celles pour sp_cursoropen.

Important

Si aucune valeur ccopt n’est spécifiée, la valeur par défaut est OPTIMISTIC, quelle que soit la valeur ccopt spécifiée dans sp_cursorprepare.

stopp
Paramètre optionnel qui indique le nombre de lignes de tampon d'extraction à utiliser avec AUTO_FETCH. La valeur par défaut est 20 lignes. le compteur de lignes se comporte différemment lorsqu’il est assigné comme valeur d’entrée ou valeur de retour.

Comme une valeur d'entrée Comme une valeur de retour
Lorsque AUTO_FETCH est spécifié avec FAST_FORWARD curseurs RowCount représente le nombre de lignes à placer dans le tampon d’extraction. Représente le nombre de lignes dans le jeu de résultats. Lorsque la valeur de AUTO_FETCH scrollopt est spécifiée, RowCount retourne le nombre de lignes extraites dans le tampon d’extraction.

bound_param
Indique l'utilisation facultative de paramètres supplémentaires.

Notes

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 anticipés pour le cache du serveur, ce qui signifie que le handle préparé qui identifie l’instruction doit être recompilé. Les valeurs des paramètres scrollopt et ccopt doivent correspondre à celles envoyées dans la demande d’origine à sp_cursorprepare.

Notes

PARAMETERIZED_STMT ne doit pas être assigné à 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)