sp_cursoroption (Transact-SQL)

Устанавливает параметры курсора или возвращает данные о курсоре, созданном хранимой процедурой sp_cursoropen. Для вызова процедуры sp_cursoroption нужно указать ID =8 в пакете потока табличных данных (TDS).

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

        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