sp_cursorexecute (Transact-SQL)
platí pro:SQL Server
Vytvoří a naplní kurzor na základě plánu provádění vytvořeného sp_cursorprepare
. Tento postup, ve spojení s sp_cursorprepare
, má stejnou funkci jako sp_cursoropen
, ale je rozdělen do dvou fází.
sp_cursorexecute
se vyvolá zadáním ID = 4
v paketu TDS (Tabular Data Stream).
Syntax
sp_cursorexecute prepared_handle , cursor
[ , scrollopt [ OUTPUT ]
[ , ccopt [ OUTPUT ]
[ , rowcount OUTPUT [ , bound param ] [ , ...n ] ] ] ]
[ ; ]
Argumenty
Důležitý
Argumenty rozšířených uložených procedur musí být zadány v určitém pořadí, jak je popsáno v části Syntaxe. Pokud jsou parametry zadány mimo pořadí, dojde k chybové zprávě.
prepared_handle
Připravený příkaz zpracovává hodnotu vrácenou sp_cursorprepare
. Parametr prepared_handle je inta nemůže být NULL
.
kurzoru
Identifikátor kurzoru vygenerovaný databázovým strojem.
kurzor je povinný parametr, který musí být zadán pro všechny následné postupy, které se chovají na kurzoru, například sp_cursorfetch
.
scrollopt
Možnost posouvání Parametr scrollopt je ints výchozím NULL
. Parametr sp_cursorexecute
scrollopt má stejné možnosti hodnot jako sp_cursoropen
.
Hodnota PARAMETERIZED_STMT
není podporovaná.
Pokud není zadaná hodnota posuvníku, je výchozí hodnota KEYSET
bez ohledu na posuvník hodnotu zadanou v sp_cursorprepare
.
Možnost řízení měny.
je volitelný parametr, který vyžaduje int vstupní hodnotu. Parametr sp_cursorexecute
má stejné možnosti hodnot jako sp_cursoropen
.
Pokud není zadaná hodnota , výchozí hodnota se OPTIMISTIC
bez ohledu na hodnotu zadanou v sp_cursorprepare
.
počtu řádků
Volitelný parametr, který označuje počet řádků vyrovnávací paměti, které se mají použít s AUTO_FETCH
. Výchozí hodnota je 20 řádků.
počet řádků se při přiřazení jako vstupní hodnota a návratové hodnoty chová odlišně.
Jako vstupní hodnota | Jako návratová hodnota |
---|---|
Když AUTO_FETCH zadáte kurzory FAST_FORWARD , počet řádků představuje počet řádků, které se mají umístit do vyrovnávací paměti pro načtení. |
Představuje počet řádků v sadě výsledků. Pokud je zadána hodnota scrolloptAUTO_FETCH , počet řádků vrátí počet řádků, které byly načteny do vyrovnávací paměti pro načtení. |
bound_param
Označuje volitelné použití dodatečných parametrů.
Všechny parametry po pátém se předají plánu příkazu jako vstupní parametry.
Návratové hodnoty kódu
počet řádků vrátí následující hodnoty.
Hodnota | Popis |
---|---|
-1 |
Počet neznámých řádků |
-n |
Asynchronní základní soubor je v platnosti. |
Poznámky
scrollopt a parametry ccopt
posunovací a ccopt jsou užitečné, když jsou plány uložené v mezipaměti serveru předem zrušeny, což znamená, že připravený popisovač identifikující příkaz musí být znovu zkompilován. Hodnoty parametrů scrollopt a parametru musí odpovídat hodnotám odeslanými v původním požadavku na sp_cursorprepare
.
PARAMETERIZED_STMT
by se nemělo přiřazovat k posuvníku.
Nepovedlo se poskytnout odpovídající hodnoty, výsledkem je rekompilace plánů, negování operací přípravy a provádění.
Důležité informace o RPC a TDS
Příznak vstupu rpc RETURN_METADATA
lze nastavit na 1
, aby se v datovém proudu TDS vrátila metadata výběru seznamu kurzoru.
Související obsah
- sp_cursoropen (Transact-SQL)
- sp_cursorfetch (Transact-SQL)
- uložené procedury systému (Transact-SQL)