次の方法で共有


sp_prepexec (Transact-SQL)

適用対象:SQL Server

パラメーター化された Transact-SQL ステートメントを準備して実行します。 sp_prepexec は、 sp_prepare の関数と sp_execute. このアクションは、表形式データ ストリーム (TDS) パケット内の ID = 13 によって呼び出されます。

Transact-SQL 構文表記規則

構文

sp_prepexec handle OUTPUT , params , stmt
    [ , bound param ] [ , ...n ]
[ ; ]

引数

大事な

拡張ストアド プロシージャの引数は、「構文の」セクションで説明されているように、特定の順序で入力する必要があります。 パラメーターが順に入力されていない場合は、エラー メッセージが表示されます。

ハンドル

SQL Server によって生成された ハンドル 識別子。 handle は、 int 戻り値を持つ必須のパラメーターです。

params

パラメーター化されたステートメントを指定します。 パラメーター変数の定義は、ステートメント内のパラメーター マーカーに置き換えます。 params は、 ntextnchar、または nvarchar 入力値を呼び出す必須のパラメーターです。 ステートメントがパラメーター化されていない場合は、 NULL 値を入力します。

stmt

カーソル結果セットを定義します。 stmt パラメーターが必要であり、ntextnchar、または nvarchar 入力値を呼び出します。

bound_param

追加パラメーターの省略可能な使用を示します。 bound_param 、任意のデータ型の入力値を呼び出して、使用中の追加のパラメーターを指定します。

次の例では、単純なステートメントを準備して実行します。

Declare @Out int;
EXEC sp_prepexec @Out output,
    N'@P1 nvarchar(128), @P2 nvarchar(100)',
    N'SELECT database_id, name
      FROM sys.databases
      WHERE name=@P1 AND state_desc = @P2',
          @P1 = 'tempdb', @P2 = 'ONLINE';
EXEC sp_unprepare @Out;