次の方法で共有


sp_cursorprepare (Transact-SQL)

カーソル ステートメントまたはバッチをコンパイルして実行プランを作成します。カーソルは作成しません。コンパイルされたステートメントは、後で sp_cursorexecute で使用できます。このプロシージャは、sp_cursorexecute と組み合わせると sp_cursoropen と同じ機能になりますが、2 つのフェーズに分割されたものになります。sp_cursorprepare は、ID = 3 を指定した場合に表形式のデータ ストリーム (TDS) パケットで呼び出されます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

        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 になっている場合、文字列の形式は次のとおりです。

{ <ローカル変数名><データ型> } [ ,…n ]