次の方法で共有


sp_cursorprepexec (Transact-SQL)

送信済みのカーソル ステートメントまたはバッチに対応するプランをコンパイルしてカーソルを作成し、データを格納します。sp_cursorprepexec には、sp_cursorprepare と sp_cursorexecute の機能が組み合わされています。このプロシージャは、ID = 5 を指定した場合に表形式のデータ ストリーム (TDS) パケットで呼び出されます。

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

構文

        sp_cursorprepexec 
        prepared handle
         OUTPUT, 
        cursor
         OUTPUT, 
        params
         , 
        statement
         , 
        options
            [ , scrollopt [ , ccopt [ , rowcount ] ] ]

引数

  • prepared handle
    SQL Server によって生成される準備済みハンドル識別子です。prepared handle は必須で、int を返します。 

  • cursor
    SQL Server によって生成されるカーソル識別子です。cursor は必須パラメーターで、このカーソルに対して操作を実行する後続のすべてのプロシージャ (sp_cursorfetch など) に渡す必要があります。

  • params
    パラメーター化されたステートメントを指定します。変数の params 定義は、ステートメントのパラメーター マーカーと置き換えられます。params は、ntext、nchar、または nvarchar 入力値を必要とする必須パラメーターです。

    注意

    stmt がパラメーター化されており、scrollopt PARAMETERIZED_STMT の値が ON になっている場合は、ntext 文字列を入力値として使用してください。

  • statement
    カーソル結果セットを定義します。statement パラメーターは必須で、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 で割り当てることができます。

  • rowcount
    AUTO_FETCH で使用するフェッチ バッファー行の数を指定する省略可能なパラメーターです。既定値は 20 行です。rowcount は、入力値として割り当てられる場合と戻り値として割り当てられる場合とでは動作が異なります。

    入力値

    戻り値

    AUTO_FETCH が FAST_FORWARD カーソルと共に指定されている場合、rowcount はフェッチ バッファーに格納する行の数を表します。

    結果セット内の行の数を表します。scrollopt AUTO_FETCH の値が指定されている場合、rowcount はフェッチ バッファーにフェッチされた行の数を返します。

リターン コードの値

params が NULL 値を返す場合、ステートメントはパラメーター化されていません。