sp_cursorexecute (Transact-SQL)
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é en spécifiant ID = 4 dans un paquet TDS (Tabular Data Stream).
S'applique à : SQL Server (SQL Server 2008 via la version actuelle). |
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 de l'instruction préparée retournée par sp_cursorprepare. prepared_handle est un paramètre obligatoire qui demande une valeur d'entrée int.cursor
Identificateur de curseur généré par 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_cursorfetchscrollopt
Option de défilement. scrollopt est un paramètre optionnel qui requiert une valeur d'entrée int. Le paramètre sp_cursorexecute scrollopt a les mêmes options de valeur que sp_cursoropen.Notes
La valeur PARAMETERIZED_STMT n'est pas prise en charge.
Important
Si une valeur scrollopt n'est pas spécifiée, la valeur par défaut est KEYSET indépendamment de la valeur scrollopt spécifiée dans sp_cursorprepare.
ccopt
Option de contrôle en matière d'accès concurrentiel. ccopt est un paramètre optionnel qui requiert une valeur d'entrée int. Le paramètre sp_cursorexecute ccopt a les mêmes options de valeur que sp_cursoropen.Important
Si une valeur ccopt n'est pas spécifiée, la valeur par défaut est OPTIMISTIC indépendamment de 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 20 lignes. rowcount se comporte différemment en cas d'affectation comme une valeur d'entrée ou une valeur de retour.Comme une valeur d'entrée
Comme une valeur de retour
Lorsqu'AUTO_FETCH est spécifié avec les curseurs FAST_FORWARD, 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 scrollopt AUTO_FETCH 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 de 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 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.