Partager via


sp_cursorprepexec (Transact-SQL)

Compile un plan pour le lot ou l'instruction de curseur envoyé, puis crée et remplit le curseur. sp_cursorprepexec combine les fonctions de sp_cursorprepare et de sp_cursorexecute. Cette procédure est appelée en spécifiant ID = 5 dans un paquet TDS (Tabular Data Stream).

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

sp_cursorprepexec prepared handle OUTPUT, cursor OUTPUT, params , statement , options
    [ , scrollopt [ , ccopt [ , rowcount ] ] ]

Arguments

  • prepared handle
    Identificateur de handle préparé généré par SQL Server. prepared handle est requis et retourne 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 ce curseur, par exemple sp_cursorfetch.

  • params
    Identifie des instructions paramétrables. La définition params de variables est substituée aux marqueurs de paramètre dans l'instruction. params est un paramètre obligatoire qui demande une valeur d'entrée ntext, nchar ou nvarchar .

    [!REMARQUE]

    Utilisez une chaîne ntext comme valeur d'entrée lorsque stmt est paramétré et que la valeur scrollopt PARAMETERIZED_STMT est ON.

  • statement
    Définit le jeu de résultats de curseur. Le paramètre statement est obligatoire et demande une valeur d'entrée ntext, nchar ou nvarchar.

    [!REMARQUE]

    Les règles de spécification de la valeur stmt sont les mêmes que celles pour sp_cursoropen, sauf que le type de données de chaîne stmt doit être ntext.

  • options
    Paramètre optionnel qui retourne une description des colonnes du jeu de résultats du curseur. options requiert la valeur d'entrée int suivante.

    Valeur

    Description

    0x0001

    RETURN_METADATA

  • scrollopt
    Option de défilement. scrollopt est un paramètre optionnel qui requiert l'une des valeurs d'entrée int suivantes.

    Valeur

    Description

    0x0001

    KEYSET

    0x0002

    DYNAMIC

    0x0004

    FORWARD_ONLY

    0x0008

    STATIC

    0x10

    FAST_FORWARD

    0x1000

    PARAMETERIZED_STMT

    0x2000

    AUTO_FETCH

    0x4000

    AUTO_CLOSE

    0x8000

    CHECK_ACCEPTED_TYPES

    0x10000

    KEYSET_ACCEPTABLE

    0x20000

    DYNAMIC_ACCEPTABLE

    0x40000

    FORWARD_ONLY_ACCEPTABLE

    0x80000

    STATIC_ACCEPTABLE

    0x100000

    FAST_FORWARD_ACCEPTABLE

    En raison de la possibilité que l'option demandée ne soit pas appropriée pour le curseur défini par <stmt>, ce paramètre sert à la fois d'entrée et de sortie. Dans de tels cas, SQL Server affecte un type approprié et modifie cette valeur.

  • ccopt
    Option de contrôle en matière d'accès concurrentiel. ccopt est un paramètre optionnel qui requiert l'une des valeurs d'entrée int suivantes.

    Valeur

    Description

    0x0001

    READ_ONLY

    0x0002

    SCROLL_LOCKS (précédemment appelé LOCKCC)

    0x0004

    OPTIMISTIC (précédemment appelé OPTCC)

    0x0008

    OPTIMISTIC (précédemment appelé OPTCCVAL)

    0x2000

    ALLOW_DIRECT

    0x4000

    UPDT_IN_PLACE

    0x8000

    CHECK_ACCEPTED_OPTS

    0x10000

    READ_ONLY_ACCEPTABLE

    0x20000

    SCROLL_LOCKS_ACCEPTABLE

    0x40000

    OPTIMISTIC_ACCEPTABLE

    0x80000

    OPTIMISITC_ACCEPTABLE

    Comme avec scrollpt, SQL Server peut affecter une valeur différente de celle demandée.

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

Valeurs des codes de retour

Si params retourne une valeur Null, l'instruction n'est pas paramétrable.

Voir aussi

Référence

sp_cursoropen (Transact-SQL)

sp_cursorexecute (Transact-SQL)

sp_cursorprepare (Transact-SQL)

sp_cursorfetch (Transact-SQL)

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