EXECUTE IMMEDIATE

説明

STRINGとして提供されたSQLステートメントを実行し、オプションでarg_exprNをパラメータマーカーに渡し、結果をvar_nameNに割り当てます。

構文

EXECUTE IMMEDIATE sql_string
        [ INTO var_name [, ]  ]
        [ USING { (arg_expr [ AS ] [alias] [, ] ) | arg_expr [ AS ] [alias] [, ] } ]

パラメータ

-- A self-contained execution using a literal string
EXECUTE IMMEDIATE 'SELECT SUM(col1) FROM VALUES(?), (?)' USING 5, 6;
 11

-- A SQL string composed in a SQL variable
DECLARE sqlStr = 'SELECT SUM(col1) FROM VALUES(?), (?)';
DECLARE arg1 = 5;
DECLARE arg2 = 6;
EXECUTE IMMEDIATE sqlStr USING arg1, arg2;
 11

-- Using the INTO clause
DECLARE sum INT;
EXECUTE IMMEDIATE sqlStr INTO sum USING arg1, arg2;
SELECT sum;
 11

-- Using named parameter markers
SET VAR sqlStr = 'SELECT SUM(col1) FROM VALUES(:first), (:second)';
EXECUTE IMMEDIATE sqlStr INTO sum USING 5 AS first, arg2 AS second;
SELECT sum;
 11