Sdílet prostřednictvím


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

Transact-SQL konvence syntaxe

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