sp_cursorprepare (Transact-SQL)
カーソル ステートメントまたはバッチをコンパイルして実行プランを作成します。カーソルは作成しません。 コンパイルされたステートメントは、後で sp_cursorexecute で使用できます。 このプロシージャは sp_cursorexecute と組み合わせると sp_cursoropen, と同じ機能になりますが、2 つのフェーズに分割されたものになります。 sp_cursorprepare は、ID = 3 を指定した場合に表形式のデータ ストリーム (TDS) パケットで呼び出されます。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで) |
構文
sp_cursorprepare prepared_handle OUTPUT, params , stmt , options
[ , scrollopt [ , ccopt ] ]
引数
prepared_handle
SQL Server によって生成される準備済みハンドル識別子で、整数値を返します。注意
prepared_handle は、その後カーソルを開くために sp_cursorexecute プロシージャに渡されます。作成されたハンドルは、ログオフするか sp_cursorunprepare プロシージャを使用して明示的に削除するまで存在します。
params
パラメーター化されたステートメントを指定します。 変数の params 定義は、ステートメントのパラメーター マーカーと置き換えられます。 params は、ntext、nchar、または nvarchar 入力値を必要とする必須パラメーターです。 ステートメントがパラメーター化されていない場合は、NULL 値を入力します。注意
stmt がパラメーター化されており、scrollopt PARAMETERIZED_STMT の値が ON になっている場合は、ntext 文字列を入力値として使用してください。
stmt
カーソル結果セットを定義します。 stmt パラメーターは必須で、ntext、nchar、または nvarchar 入力値を必要とします。注意
stmt の値を指定するためのルールは sp_cursoropen の場合と同じですが、stmt の文字列データ型を ntext にする必要がある点が異なります。
options
カーソル結果セット列の説明を返す省略可能なパラメーターです。 options は、次の int 入力値を必要とします。値
説明
0x0001
RETURN_METADATA
scrollopt
スクロール オプションです。 scrollopt は省略可能なパラメーターで、次の int 入力値のいずれかを必要とします。値
説明
0x0001
KEYSET
0x0002
DYNAMIC
0x0004
FORWARD_ONLY
0x0008
STATIC
0x10
FAST_FORWARD
0x1000
PARAMETERIZED_STMT
0x2000
AUTO_FETCH
0x4000
AUTO_CLOSE
0x8000
CHECK_ACCEPTED_TYPES
0x10000
KEYSET_ACCEPTABLE
0x20000
DYNAMIC_ACCEPTABLE
0x40000
FORWARD_ONLY_ACCEPTABLE
0x80000
STATIC_ACCEPTABLE
0x100000
FAST_FORWARD_ACCEPTABLE
要求される値が stmt で定義されているカーソルに適していない可能性があるので、このパラメーターは入力と出力の両方として機能します。 このような場合は、SQL Server によって適切な値が割り当てられます。
ccopt
同時実行制御オプションです。 ccopt は省略可能なパラメーターで、次の int 入力値のいずれかを必要とします。値
説明
0x0001
READ_ONLY
0x0002
SCROLL_LOCKS (以前の LOCKCC)
0x0004
OPTIMISTIC (以前の OPTCC)
0x0008
OPTIMISTIC (以前の OPTCCVAL)
0x2000
ALLOW_DIRECT
0x4000
UPDT_IN_PLACE
0x8000
CHECK_ACCEPTED_OPTS
0x10000
READ_ONLY_ACCEPTABLE
0x20000
SCROLL_LOCKS_ACCEPTABLE
0x40000
OPTIMISTIC_ACCEPTABLE
0x80000
OPTIMISITC_ACCEPTABLE
scrollpt と同様に、要求される値とは異なる値を SQL Server で割り当てることができます。
説明
RPC 状態パラメーターは次のいずれかになります。
値 |
説明 |
---|---|
0 |
成功 |
0x0001 |
失敗 |
1FF6 |
メタデータを返すことができませんでした。 注意 これは、ステートメントで結果セットが生成されないためです (INSERT ステートメントや DDL ステートメントなど)。 |
使用例
stmt がパラメーター化されており、scrollopt PARAMETERIZED_STMT の値が ON になっている場合、文字列の形式は次のとおりです。
{ <local variable name> <data type> } [ ,…n ]
関連項目
参照
sp_cursorexecute (Transact-SQL)