sp_cursoroption (Transact-SQL)

適用於:SQL Server

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

Transact-SQL 語法慣例

語法

  
sp_cursoroption cursor, code, value  

引數

cursor
這是 SQL Server 產生的控制碼 值,並由sp_cursoropen預存程式傳回。 cursor 需要 int 輸入值來執行。

code
用來規定資料指標傳回值的各種因素。 程式碼 需要下列 其中一個 int 輸入值:

名稱 描述
0x0001 TEXTPTR_ONLY 傳回特定指定文字或影像資料行的文字指標,而非實際資料。

TEXTPTR_ONLY允許文字指標做為 Blob 物件的控制碼 ,這些物件稍後可以使用 Transact-SQL 或 DBLIB 設施選擇性地擷取或更新這些物件(例如 Transact-SQL READTEXT 或 DBLIB DBWRITETEXT)。

如果已指派 「0」 值,則選取清單中的所有文字和影像資料行都會傳回文字指標,而不是資料。
0x0002 CURSOR_NAME 將值 中指定的 名稱指派給資料指標。 這反過來又允許 ODBC 在透過sp_cursoropen開啟的資料指標上使用 Transact-SQL 定位 UPDATE/DELETE 子句。

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

由於 Transact-SQL 定位 UPDATE/DELETE 子句預設會在 fat 資料指標的第一個資料列上運作,sp_cursor SETPOSITION 應該用來在發出定位的 UPDATE/DELETE 子句之前放置資料指標。
0x0003 TEXTDATA 傳回後續擷取上特定文字或影像資料行的實際資料,而非文字指標(也就是這會復原TEXTPTR_ONLY的效果)。

如果特定資料行已啟用 TEXTDATA,資料列會重新擷取或重新整理,然後可以設定回TEXTPTR_ONLY。 如同TEXTPTR_ONLY,value 參數是一個整數,指定資料行編號,而零值會傳回所有文字或影像資料行。
0x0004 SCROLLOPT 捲動選項。 如需詳細資訊,請參閱本主題稍後的。
0x0005 CCOPT 並行控制選項。 如需詳細資訊,請參閱本主題稍後的。
0x0006 ROWCOUNT 結果集中目前的資料列數目。

注意:如果正在使用非同步母體擴展,則 ROWCOUNT 可能已經變更,因為sp_cursoropen傳回的值。 如果資料列數目未知,則會傳回 -1 值。

value
指定程式碼 回的值。 value 是呼叫0x0001、0x0002或0x0003 程式碼 輸入值的必要參數。

注意

代碼 值為 2 是字串資料類型。 任何其他 程式碼 值輸入或傳 回的值 都是整數。

傳回碼值

value 參數可能會傳回下列 其中一個程式碼 值。

傳回值 描述
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)