Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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_cursorexecute
scrollopt 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_FORWARD rowcount 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.