Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server-
Hiermee maakt en vult u een cursor op basis van het uitvoeringsplan dat door sp_cursorprepare
is gemaakt. Deze procedure, gekoppeld aan sp_cursorprepare
, heeft dezelfde functie als sp_cursoropen
, maar wordt gesplitst in twee fasen.
sp_cursorexecute
wordt aangeroepen door ID = 4
op te geven in een TDS-pakket (tabellaire gegevensstroom).
Transact-SQL syntaxisconventies
Syntaxis
sp_cursorexecute prepared_handle , cursor
[ , scrollopt [ OUTPUT ]
[ , ccopt [ OUTPUT ]
[ , rowcount OUTPUT [ , bound param ] [ , ...n ] ] ] ]
[ ; ]
Argumenten
Belangrijk
Argumenten voor uitgebreide opgeslagen procedures moeten worden ingevoerd in de specifieke volgorde, zoals beschreven in de sectie Syntaxis. Als de parameters niet in de volgorde zijn ingevoerd, treedt er een foutbericht op.
prepared_handle
De voorbereide instructie waarde verwerken die door sp_cursorprepare
wordt geretourneerd. De parameter prepared_handle is inten kan niet worden NULL
.
cursor
De door de database-engine gegenereerde cursor-id.
cursor is een vereiste parameter die moet worden opgegeven voor alle volgende procedures die op de cursor reageren, zoals sp_cursorfetch
.
Schuifoptie. De parameter scrollopt is int, met een standaardwaarde van NULL
. De parameter sp_cursorexecute
scrollopt heeft dezelfde waardeopties als sp_cursoropen
.
De PARAMETERIZED_STMT
waarde wordt niet ondersteund.
Als er geen scrollopt--waarde is opgegeven, wordt de standaardwaarde KEYSET
ongeacht scrollopt waarde die is opgegeven in sp_cursorprepare
.
Optie voor valutabeheer.
is een optionele parameter waarvoor een invoerwaarde is vereist. De sp_cursorexecute
parameter heeft dezelfde waardeopties als sp_cursoropen
.
Als een waarde niet is opgegeven, wordt de standaardwaarde OPTIMISTIC
ongeacht ccopt waarde die is opgegeven in sp_cursorprepare
.
aantal rijen
Een optionele parameter die het aantal ophaalbufferrijen aangeeft dat moet worden gebruikt met AUTO_FETCH
. De standaardwaarde is 20 rijen.
rowcount zich anders gedraagt wanneer deze is toegewezen als invoerwaarde versus een retourwaarde.
Als invoerwaarde | Als retourwaarde |
---|---|
Wanneer AUTO_FETCH is opgegeven met FAST_FORWARD cursors, geeft rijaantal het aantal rijen aan dat in de ophaalbuffer moet worden geplaatst. |
Vertegenwoordigt het aantal rijen in de resultatenset. Wanneer de scrolloptAUTO_FETCH waarde is opgegeven, retourneert rijaantal het aantal rijen dat in de ophaalbuffer is opgehaald. |
bound_param
Hiermee wordt het optionele gebruik van extra parameters opgegeven.
Parameters na de vijfde worden als invoerparameters doorgegeven aan het instructieplan.
Codewaarden retourneren
rowcount retourneert de volgende waarden.
Waarde | Beschrijving |
---|---|
-1 |
Aantal rijen onbekend. |
-n |
Een asynchrone populatie is van kracht. |
Opmerkingen
scrollopt en ccopt Parameters
scrollopt en ccopt nuttig zijn wanneer de plannen in de cache worden afgedwongen voor de servercache, wat betekent dat de voorbereide ingang waarmee de instructie wordt geïdentificeerd, opnieuw moet worden gecompileerd. De scrollopt- en parameterwaarden moeten overeenkomen met de waarden die in de oorspronkelijke aanvraag naar sp_cursorprepare
zijn verzonden.
PARAMETERIZED_STMT
mag niet worden toegewezen aan scrollopt-.
Fout bij het opgeven van overeenkomende waarden resulteert in hercompilatie van de plannen, waarbij de voorbereidings- en uitvoerbewerkingen worden genegeerd.
Overwegingen voor RPC en TDS
De RPC-RETURN_METADATA
invoervlag kan worden ingesteld op 1
om aan te vragen dat metagegevens van de cursorlijst selecteren wordt geretourneerd in de TDS-stroom.