Partager via


sp_cursorprepare (Transact-SQL)

Compile le lot ou l'instruction de curseur dans un plan d'exécution, mais ne crée pas le curseur. L'instruction compilée peut être utilisée ultérieurement par sp_cursorexecute. Cette procédure, couplée avec sp_cursorexecute, a la même fonction que sp_cursoropen, mais est fractionnée en deux phases. sp_cursorprepare est appelé en spécifiant ID = 3 dans un paquet TDS (Tabular Data Stream).

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

Syntaxe

sp_cursorprepare prepared_handle OUTPUT, params , stmt , options
    [ , scrollopt [ , ccopt ] ]

Arguments

  • prepared_handle
    Identificateur de handle préparé généré par SQL Server qui retourne une valeur entière.

    [!REMARQUE]

    prepared_handle est par la suite fourni à une procédure sp_cursorexecute pour ouvrir un curseur. Une fois un handle créé, il existe jusqu'à ce que vous vous déconnectiez ou que vous le supprimiez de façon explicite par le biais d'une procédure sp_cursorunprepare.

  • 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 . Entrez une valeur NULL si l'instruction n'est pas paramétrable.

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

  • stmt
    Définit le jeu de résultats de curseur. Le paramètre stmt 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

    Étant donné que la valeur demandée peut ne pas être 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 une valeur appropriée.

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

Notes

Le paramètre d'état RPC prend l'une des valeurs suivantes :

Valeur

Description

0

Success

0x0001

Failure

1FF6

Impossible de retourner des métadonnées.

RemarqueRemarque
Cela se produit lorsque l'instruction ne produit pas de jeu de résultats ; par exemple, il s'agit d'une instruction INSERT ou DDL.

Exemples

Lorsque stmt est paramétrable et que la valeur scrollopt PARAMETERIZED_STMT est ON, le format de la chaîne est le suivant :

{ <local variable name> <data type> } [ ,…n ]

Voir aussi

Référence

sp_cursorexecute (Transact-SQL)

sp_cursoropen (Transact-SQL)

sp_cursorunprepare (Transact-SQL)

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