Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:SQL Server
Создает и заполняет курсор на основе плана выполнения, созданного с помощью sp_cursorprepare. Эта процедура, в сочетании с sp_cursorprepare, имеет ту же функцию, что sp_cursoropenи , но разделена на два этапа.
sp_cursorexecute вызывается путем ID = 4 указания в пакете табличного потока данных (TDS).
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_cursorexecute prepared_handle , cursor
[ , scrollopt [ OUTPUT ]
[ , ccopt [ OUTPUT ]
[ , rowcount OUTPUT [ , bound param ] [ , ...n ] ] ] ]
[ ; ]
Аргументы
Важный
Аргументы для расширенных хранимых процедур необходимо ввести в определенном порядке, как описано в разделе Синтаксис. Если параметры введены вне порядка, возникает сообщение об ошибке.
prepared_handle
Значение дескриптора подготовленной инструкцииsp_cursorprepare Параметр prepared_handle является int и не может быть NULL.
курсор
Идентификатор ядро СУБД созданного курсора.
курсор является обязательным параметром, который должен быть предоставлен во всех последующих процедурах, которые действуют на курсоре, например sp_cursorfetch.
scrollopt
Параметр прокрутки. Параметр scrollopt имеет значение int с значением по умолчаниюNULL. Параметр sp_cursorexecutescrollopt имеет те же параметры значения, что sp_cursoropenи параметр.
Значение PARAMETERIZED_STMT не поддерживается.
KEYSET
, указанного вsp_cursorprepare.
ccopt
Параметр управления параллелизмом.
ccopt — это необязательный параметр, требующий входного значения int . Параметр sp_cursorexecuteccopt имеет те же параметры значений, что sp_cursoropenи параметр.
OPTIMISTIC
, указанного в sp_cursorprepare.
строка
Необязательный параметр, указывающий количество строк буфера получения для использования AUTO_FETCH. Значение по умолчанию составляет 20 строк.
Строка ведет себя по-разному при назначении в качестве входного значения и возвращаемого значения.
| Как входное значение | Как возвращаемое значение |
|---|---|
При AUTO_FETCH указании курсоров FAST_FORWARDстрока представляет количество строк, которые нужно поместить в буфер получения. |
Представляет число строк в результирующем наборе.
Если задано значение scrolloptAUTO_FETCH, строка возвращает количество строк, которые были извлекались в буфер получения. |
bound_param
Означает необязательное использование дополнительных параметров.
Все параметры после пятого передаются в план инструкции как входные.
Значения кода возврата
rowcount возвращает следующие значения.
| значение | Описание |
|---|---|
-1 |
Число строк неизвестно. |
-n |
Действует асинхронное заполнение. |
Замечания
Параметры scrollopt и ccopt
scrollopt и ccopt полезны, если кэшированные планы преумножены для кэша сервера, то есть подготовленный дескриптор , определяющий инструкцию, должен быть перекомпилирован. Значения параметров scrollopt и ccopt должны соответствовать значениям, отправленным в исходном запросе sp_cursorprepare.
PARAMETERIZED_STMTне следует назначать прокрутке.
Неспособность предоставить соответствующие значения приводит к перекомпиляции планов, отрицая операции подготовки и выполнения.
Замечания по RPC и TDS
Флаг ввода RPC RETURN_METADATA можно задать для 1 запроса того, что метаданные списка выбора курсора возвращаются в потоке TDS.