共用方式為


sp_cursoroption (Transact-SQL)

設定資料指標選項或傳回 sp_cursoropen 預存程序所建立的資料指標資訊。 sp_cursoroption 的叫用方式是在表格式資料流 (TDS) 封包中指定 ID =8。

主題連結圖示 Transact-SQL 語法慣例

語法

sp_cursoroption cursor, code, value

引數

  • cursor
    這是 SQL Server 所產生及 sp_cursoropen 預存程序所傳回的「控制代碼」(Handle) 值。 cursor 需要 int 輸入值才能執行。

  • code
    用來保證資料指標的各種因數一定會傳回值。 code 必須具有下列其中一個 int 輸入值:

    名稱

    說明

    0x0001

    TEXTPTR_ONLY

    針對某些指定的 text 或 image 資料行傳回文字指標,而不是實際的資料。

    TEXTPTR_ONLY 可讓文字指標當做 blob 物件的「控制代碼」(Handle) 使用,之後可以選擇性方式透過 Transact-SQL 或 DBLIB 功能 (如 Transact-SQL READTEXT 或 DBLIB DBWRITETEXT) 來加以擷取或更新。

    如果指派 "0" 值,選取清單中的所有 text 和 image 資料行將會傳回文字指標,而不是資料。

    0x0002

    CURSOR_NAME

    將 value 中指定的名稱指派給資料指標。 接著讓 ODBC 在透過 sp_cursoropen 開啟的資料指標上使用 Transact-SQL 定位陳述式 UPDATE/DELETE。

    此字串可以指定為任何字元或 Unicode 資料類型。

    自從 Transact-SQL 定位陳述式 UPDATE/DELETE 運作之後,sp_cursor SETPOSITION 預設應該在寬鬆資料指標的第一個資料列上用來定位資料指標,然後再發出定位陳述式 UPDATE/DELETE。

    0x0003

    TEXTDATA

    在後續的提取上,針對某些 text 或 image 資料行傳回實際資料,而不是文字指標 (也就是說, 這樣會復原 TEXTPTR_ONLY 的作用)。

    如果針對特定的資料行啟用 TEXTDATA,將會重新提取或重新整理資料列,而且可以設定回 TEXTPTR_ONLY。 如果是 TEXTPTR_ONLY,值參數是一個指定資料行編號的整數,以及傳回所有 text 或 image 資料行的零值。

    0x0004

    SCROLLOPT

    捲動選項。 如需詳細資訊,請參閱這個主題稍後的「傳回碼值」。

    0x0005

    CCOPT

    並行控制選項。 如需詳細資訊,請參閱這個主題稍後的「傳回碼值」。

    0x0006

    ROWCOUNT

    目前結果集中的資料列數目。

    [!附註]

    如果正在使用非同步擴展,自從 sp_cursoropen 傳回值之後 ROWCOUNT 可能已經變更。 如果資料列數目未知,則會傳回 –1 的值。

  • value
    指定 code 傳回的值。 value 是呼叫 0x0001、0x0002 或 0x0003 code 輸入值的必要參數。

    [!附註]

    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

請參閱

參考

系統預存程序 (Transact-SQL)

sp_cursor (Transact-SQL)

sp_cursoropen (Transact-SQL)