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 指定された特定の text 列または image 列の実際のデータではなくテキスト ポインターを返します。

TEXTPTR_ONLYでは、後で Transact-SQL または DBLIB 機能 (Transact-SQL READTEXT や DBLIB DBWRITETEXT など) を使用して選択的に取得または更新できる BLOB オブジェクトの ハンドル としてテキスト ポインターを使用できます。

値 0 が割り当てられている場合は、選択リスト内のすべての text 列および image 列がデータではなくテキスト ポインターを返します。
0x0002 CURSOR_NAME で指定された名前をカーソルに割り当てます。 これにより、ODBC では、sp_cursoropenを介して開かれたカーソルで Transact-SQL 位置指定 UPDATE/DELETE ステートメントを使用できます。

文字列は、任意の文字または Unicode データ型として指定できます。

Transact-SQL 位置指定 UPDATE/DELETE ステートメントは既定で、脂肪カーソルの最初の行で動作するため、SETPOSITION sp_cursor使用して、位置指定された UPDATE/DELETE ステートメントを発行する前にカーソルを配置する必要があります。
0x0003 TEXTDATA 以降のフェッチで、特定の text 列または image 列のテキスト ポインターではなく実際のデータを返します (これにより、TEXTPTR_ONLY の効力が取り消されます)。

特定の列で TEXTDATA が有効になると、行は再フェッチ (更新) されます。後で TEXTPTR_ONLY に戻すことができます。 TEXTPTR_ONLY と同様に、value パラメーターは列番号を指定する整数で、値が 0 の場合はすべての text 列および image 列が返されます。
0x0004 SCROLLOPT スクロール オプションです。 詳細については、このトピックで後述する「戻りコード値」を参照してください。
0x0005 CCOPT コンカレンシー制御オプション。 詳細については、このトピックで後述する「戻りコード値」を参照してください。
0x0006 ROWCOUNT 結果セット内の現在の行数。

注: 非同期作成が使用されている場合は、sp_cursoropenによって返される値が原因で ROWCOUNT が変更されている可能性があります。 行数が不明な場合は、値 -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)