共用方式為


sp_cursoroption (Transact-SQL)

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

適用於:SQL Server (SQL Server 2008 至目前版本)。

主題連結圖示 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)