Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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_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.