Partager via


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).

Icône 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 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_cursorfetch

  • scrollopt
    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.

    [!REMARQUE]

    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.

    [!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 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.

[!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

Référence

sp_cursoropen (Transact-SQL)

sp_cursorfetch (Transact-SQL)

Procédures stockées système (Transact-SQL)