sp_cursoroption (Transact-SQL)
Устанавливает параметры курсора или возвращает данные о курсоре, созданном хранимой процедурой sp_cursoropen. Для вызова процедуры sp_cursoroption нужно указать ID =8 в пакете потока табличных данных (TDS).
Синтаксис
sp_cursoroption
cursor
,
code
,
value
Аргументы
cursor
Значение дескриптора, создаваемое SQL Server и возвращаемого хранимой процедурой sp_cursoropen. Для выполнения cursor требуется входное значение типа int.code
Служит для указания различных коэффициентов возвращаемых значений курсора. Параметр code требует одного из следующих входных значений типа int.Значение
Имя
Описание
0x0001
TEXTPTR_ONLY
Возвращает не фактические данные, а текстовый указатель для определенных назначенных столбцов типа text или image.
TEXTPTR_ONLY позволяет использовать текстовые указатели как дескрипторы объектов BLOB, которые позже можно выборочно получить или обновить с помощью Transact-SQL или DBLIB (например, инструкции Transact-SQL READTEXT или DBLIB DBWRITETEXT).
Если присвоено значение «0», то все столбцы типа text или image из выбранного списка будут возвращать вместо данных текстовые указатели.
0x0002
CURSOR_NAME
Назначает курсору имя, указанное в параметре value. Это в свою очередь позволяет интерфейсу ODBC применять позиционированные инструкции Transact-SQL UPDATE и DELETE к курсорам, открываемым процедурой sp_cursoropen.
Строка может иметь любой символьный тип данных или UNICODE.
Поскольку по умолчанию позиционируемые инструкции Transact-SQL UPDATE и DELETE работают с первой строкой в крупном курсоре, то перед выдачей позиционированной инструкции UPDATE или DELETE необходимо позиционировать курсор с помощью sp_cursor SETPOSITION.
0x0003
TEXTDATA
Возвращает фактические данные, а не текстовый указатель для определенных столбцов типа text или image при последующей выборке (т. е. отменяет действие TEXTPTR_ONLY).
Если для определенного столбца включен режим TEXTDATA, то выполняется повторная выборка или обновление строки, и после этого можно опять присвоить значение TEXTPTR_ONLY. Как и в случае с TEXTPTR_ONLY, целочисленный параметр значения задает номер столбца. Нулевое значение возвращает все текстовые столбцы или столбцы изображений.
0x0004
SCROLLOPT
Параметр прокрутки. Дополнительные сведения см. ниже в разделе «Значения кодов возврата».
0x0005
CCOPT
Параметр управления параллелизмом. Дополнительные сведения см. ниже в разделе «Значения кодов возврата».
0x0006
ROWCOUNT
Количество строк, находящихся в результирующем наборе.
ПримечаниеЕсли используется асинхронное заполнение, то с момента возвращения значений процедурой sp_cursoropen параметр ROWCOUNT мог измениться. Значение -1 возвращается в том случае, если число строк неизвестно.value
Определяет значение, возвращаемое параметром code. Параметр value является обязательным и требует входного значения code, равного 0x0001, 0x0002 или 0x0003.Примечание Значение code, равное 2, соответствует строковому типу данных. Любое другое значение code, введенное или возвращенное value, является целочисленным.
Значения кодов возврата
Параметр value может возвращать одно из следующих значений code.
Возвращаемое значение |
Описание |
---|---|
0x0004 |
SCROLLOPT |
0X0005 |
CCOPT |
0X0006 |
ROWCOUNT |
Параметр value возвращает одно из следующих значений SCROLLOPT.
Возвращаемое значение |
Описание |
---|---|
0x0001 |
KEYSET |
0x0002 |
DYNAMIC |
0x0004 |
FORWARD_ONLY |
0x0008 |
STATIC |
Параметр value возвращает одно из следующих значений CCOPT.
Возвращаемое значение |
Описание |
---|---|
0x0001 |
READ_ONLY |
0x0002 |
SCROLL_LOCKS |
0x0004 или 0x0008 |
OPTIMISTIC |
См. также