コマンドステートメントは、1つ以上のデータソースに対してSELECTINSERTUPDATEDELETEEXECUTE などのSQL Commandや、DDL statementdynamic SQLなどを実行します。

Usage

command [(WITH|WITHOUT) RETURN];

Syntax

  • EXECUTEコマンドステートメントは、IN/OUTOUT、およびRETURN パラメータにアクセスすることができます。戻り値にアクセスするために、ステートメントはvar = EXEC proc...という形式になります。OUTまたはIN/OUTの値にアクセスするには、名前付きパラメータ構文を使用する必要があります。例えば、EXEC proc(in_param=>'1', out_param=>var ) は、OUTパラメータの値を変数varに代入します。パラメータのデータ型は、変数のデータ型に暗黙的に変換されることが期待されます;
  • RETURN句は、コマンドの結果がプロシージャから返されるかどうかを決定します。デフォルトはWITH RETURNです。コマンドが結果セットを返さない場合、またはプロシージャが結果セットを返さない場合、RETURN 句は無視されます。WITH RETURNが指定された場合、コマンドの結果セットは、プロシージャの期待される結果セットと一致しなければなりません。最後に正常に実行されたステートメントのみがプロシージャ結果セットとして返されますWITH RETURN。返せる結果セットがなく、プロシージャで結果セットを返すと宣言している場合は、空の結果セットが返されます。

Examples

Command Statement Without Return

BEGIN
EXECUTE 'SELECT 1' WITHOUT RETURN;
END ;;

Command Statement With Return

BEGIN
EXECUTE 'SELECT 1' [WITH RETURN];
END ;;

デフォルトはWITH RETURNですので、角括弧の部分は省略できます。