sp_cursoroption (Transact-SQL)
カーソル オプションを設定するか、sp_cursoropen ストアド プロシージャで作成されたカーソル情報を返します。sp_cursoroption は、ID = 8 を指定した場合に表形式のデータ ストリーム (TDS) パケットで呼び出されます。
構文
sp_cursoroption
cursor
,
code
,
value
引数
cursor
SQL Server によって生成されて sp_cursoropen ストアド プロシージャから返されるハンドル値を指定します。cursor は、実行用の int 入力値を必要とします。code
カーソル戻り値のさまざまな要因を指定するために使用されます。code は、次の int 入力値のいずれかを必要とします。値
名前
説明
0x0001
TEXTPTR_ONLY
指定された特定の text 列または image 列の実際のデータではなくテキスト ポインターを返します。
TEXTPTR_ONLY を使用すると、後で Transact-SQL または DBLIB 機能 (Transact-SQL READTEXT や DBLIB DBWRITETEXT など) を使用して選択的に取得または更新できる BLOB オブジェクトに対するハンドルとしてテキスト ポインターを使用できます。
値 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 と同様に、value パラメーターは列番号を指定する整数で、値が 0 の場合はすべての text 列および image 列が返されます。
0x0004
SCROLLOPT
スクロール オプションです。詳細については、後の「戻り値」を参照してください。
0x0005
CCOPT
同時実行制御オプションです。詳細については、後の「戻り値」を参照してください。
0x0006
ROWCOUNT
現在結果セット内にある行の数です。
注非同期設定が使用されている場合は、sp_cursoropen から値が返された以降に、ROWCOUNT が変更されている可能性があります。行数が不明な場合は、値 -1 が返されます。value
code から返される値を指定します。value は、code 入力値として 0x0001、0x0002、または 0x0003 を必要とする必須パラメーターです。注 code 値 2 は文字列データ型です。それ以外の入力値または value から返される code 値は、整数です。
リターン コードの値
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 |