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).
S'applique à : SQL Server (SQL Server 2008 via la version actuelle). |
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.Notes
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.Notes
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.Notes
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. Notes 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)