sp_prepexec (Transact-SQL)
パラメーター化された Transact-SQL ステートメントを準備して実行します。sp_prepexec には、sp_prepare と sp_execute の機能が組み合わされています。このプロシージャは、ID = 13 を指定した場合に表形式のデータ ストリーム (TDS) パケットで呼び出されます。
構文
sp_prepexec handle OUTPUT, params , stmt
[ , bound param ] [ ,...n ] ]
引数
handle
SQL Server によって生成されるハンドル識別子です。handle は、戻り値が int の必須パラメーターです。params
パラメーター化されたステートメントを指定します。変数の params 定義は、ステートメントのパラメーター マーカーと置き換えられます。params は、ntext、nchar、または nvarchar 入力値を必要とする必須パラメーターです。ステートメントがパラメーター化されていない場合は、NULL 値を入力します。stmt
カーソル結果セットを定義します。stmt パラメーターは必須で、ntext、nchar、または nvarchar 入力値を必要とします。bound_param
追加パラメーターをオプションで使用することを示します。bound_param は、使用する追加パラメーターを指定する任意のデータ型の入力値を必要とします。
使用例
次の例では、単純なステートメントを準備して実行します。
Declare @P1 int;
EXEC sp_prepexec @P1 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 @P1;