Udostępnij za pośrednictwem


sp_cursorexecute (Transact-SQL)

Dotyczy:programu SQL Server

Tworzy i wypełnia kursor na podstawie planu wykonania utworzonego przez sp_cursorprepare. Ta procedura, w połączeniu z sp_cursorprepare, ma tę samą funkcję co sp_cursoropen, ale jest podzielona na dwie fazy. sp_cursorexecute jest wywoływana przez określenie ID = 4 w pakiecie strumienia danych tabelarycznych (TDS).

Transact-SQL konwencje składni

Składnia

sp_cursorexecute prepared_handle , cursor
    [ , scrollopt [ OUTPUT ]
    [ , ccopt [ OUTPUT ]
    [ , rowcount OUTPUT [ , bound param ] [ , ...n ] ] ] ]
[ ; ]

Argumenty

Ważny

Argumenty dla rozszerzonych procedur składowanych należy wprowadzić w określonej kolejności zgodnie z opisem w sekcji składni. Jeśli parametry są wprowadzane poza kolejnością, wystąpi komunikat o błędzie.

prepared_handle

Przygotowana instrukcja obsługuje wartość zwracaną przez sp_cursorprepare. Parametr prepared_handle jest inti nie może być NULL.

kursora

Identyfikator kursora wygenerowanego przez aparat bazy danych. kursor jest wymaganym parametrem, który musi zostać dostarczony we wszystkich kolejnych procedurach, które działają na kursorze, na przykład sp_cursorfetch.

przewijania

Opcja przewijania. Parametr przewijania jest , z wartością domyślną NULL. Parametr sp_cursorexecutescrollopt ma te same opcje wartości co sp_cursoropen.

Wartość PARAMETERIZED_STMT nie jest obsługiwana.

Jeśli nie określono wartości przewijania, wartość domyślna jest KEYSET niezależnie od przewijania wartości określonej w sp_cursorprepare.

Opcja kontroli waluty. jest opcjonalnym parametrem, który wymaga int wartości wejściowej. Parametr sp_cursorexecute ma te same opcje wartości co sp_cursoropen.

Jeśli nie określono wartości , wartość domyślna jest OPTIMISTIC niezależnie od wartości określonej w sp_cursorprepare.

rowcount

Opcjonalny parametr, który oznacza liczbę wierszy buforu pobierania do użycia z AUTO_FETCH. Wartość domyślna to 20 wierszy. rowcount zachowuje się inaczej, gdy jest przypisywana jako wartość wejściowa w porównaniu z wartością zwracaną.

Jako wartość wejściowa Jako wartość zwracana
Po określeniu AUTO_FETCH z kursorami FAST_FORWARDrowcount reprezentuje liczbę wierszy do umieszczenia w buforze pobierania. Reprezentuje liczbę wierszy w zestawie wyników. Gdy zostanie określona wartość AUTO_FETCH przewijania, zwraca liczbę wierszy pobranych do buforu pobierania.

bound_param

Oznacza opcjonalne użycie dodatkowych parametrów.

Wszystkie parametry po piątym są przekazywane do planu instrukcji jako parametry wejściowe.

Zwracanie wartości kodu

rowcount zwraca następujące wartości.

Wartość Opis
-1 Nieznana liczba wierszy.
-n Populacja asynchroniczna jest w mocy.

Uwagi

scrollopt i ccopt parametry

przewijania i są przydatne, gdy buforowane plany są wywłaszczone dla pamięci podręcznej serwera, co oznacza, że przygotowany uchwyt identyfikujący instrukcję musi zostać ponownie skompilowany. Wartości parametrów przewijania i muszą być zgodne z wartościami wysłanymi w oryginalnym żądaniu do sp_cursorprepare.

PARAMETERIZED_STMT nie należy przypisywać do przewijania.

Brak zapewnienia pasujących wartości powoduje ponowne skompilowanie planów, negując operacje przygotowywania i wykonywania.

Zagadnienia dotyczące RPC i TDS

Flaga wejściowa RPC RETURN_METADATA można ustawić na 1, aby zażądać zwrócenia metadanych listy wyboru kursora w strumieniu TDS.