EXECUTE
EXECUTE ステートメントには 2 とおりの使い方があります。
•ユーザー定義のプロシージャまたはシステム ストアド プロシージャを呼び出す場合。
CALL ステートメントの代わりに EXECUTE ステートメントを使用できます。
•ストアド プロシージャ内で、文字列または、文字列を返す式を実行する場合。
構文
ストアド プロシージャを呼び出す場合:
EXEC[UTE] ストアド プロシージャ [([プロシージャ パラメーター[, プロシージャ パラメーター]...])]
ストアド プロシージャ ::= ストアド プロシージャの名前
プロシージャ パラメーター ::= ストアド プロシージャが必要とする入力パラメーター
ユーザー定義のストアド プロシージャ内の場合:
EXEC[UTE] (文字列[ + 文字列]...)
文字列 ::= 文字列、文字列変数、または文字列を返す式
備考
ストアド プロシージャ構文の EXEC[UTE] (文字列...) は、NCHAR 値のリテラルおよび変数をサポートしていません。文字列の構築に使用される値は、実行前に CHAR 値へ変換されます。
例
次の例では、パラメーターのないプロシージャを実行します。
EXEC NoParms() または CALL NoParms
次の例では、パラメーターのあるプロシージャを実行します。
EXEC Parms(vParm1, vParm2)
EXECUTE CheckMax(N.Class_ID)
============
次のプロシージャは、Billing テーブルから Student_ID を取り出します。
CREATE PROCEDURE tmpProc(IN :vTable CHAR(25)) RETURNS (sID INTEGER) AS
BEGIN
EXEC ('SELECT Student_ID FROM ' + :vtable);
END;
EXECUTE tmpProc("Billing")
関連項目