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