Microsoft SQL Server
|
|
sp_executesql付きのEXECUTEステートメントは動的な複合ステートメントを含むSQLステートメントを実行します。動的複合ステートメントには埋め込みパラメータを設定することができます。
パラメータ:
N'dynamic_compound_string' | @dynamic_statement - 文字列または変数として定義された実行可能なSQLステートメント
N'param_defined_string' | dynamic_param_definition - 実行可能なSQLステートメント用の入力パラメータである文字列または変数
それぞれのパラメータはパラメータの名前とデータ型で定義されます。パラメータのデフォルト値はNULLです。
[@param1=] value1 はパラメータの値であり、定数または変数が設定できます。動的ステートメントに含まれる全てのパラメータには値の設定が必須です。
例:
以下のステートメントはパラメータ化された動的SELECTステートメントに入力パラメータを与えて実行しています。
|
Oracle
|
|
EXECUTE IMMEDIATEステートメントはOracleで動的SQLステートメントを実行するのに使われます。
パラメータ:
dynamic_string - 文字列、変数、または式として定義された実行可能SQLステートメント。入力パラメータは :N と表記されます。NはUSING句内のパラメータの番号を示します。
ret_valueN, record_name - INTO句はカラムの値が格納される変数またはレコードを示します。INTO句は単一ロークエリでのみ使用されます。
[ IN | OUT | IN OUT ] valueN - USING句はパラメータの入/出力値のリストを示します。デフォルトでは valueN はINパラメータです。
例:
下の例ではパラメータ付きの動的複合INSERTステートメントを実行しています。
sql_dString := 'INSERT INTO tab1 VALUES (:1, :2, :3)';
EXECUTE IMMEDIATE sql_dString USING 77, 21, variable1;
|