13.53 RETURNING INTO句
RETURNING INTO句は、この句が属する文によって戻された値を格納するための変数を指定します。
変数は、個々の変数またはコレクションのいずれかにできます。文を実行しても行に影響がない場合、変数の値は未定義になります。
静的RETURNING INTO句は、DELETE、INSERTまたはUPDATE文に属します。動的RETURNING INTO句は、EXECUTE IMMEDIATE文に属します。
注意:
RETURNING INTO句はリモートまたはパラレルでの削除には使用できません。
ここでのトピック
構文
static_returning_clause ::=
dynamic_returning_clause ::=
into_clause ::=
bulk_collect_into_clause ::=
セマンティクス
static_returning_clause
column
データベース表の列の名前の値を持つ式。
into_clause
文によって戻される列値を格納する変数またはレコードを指定します。
into_clauseの制限
dynamic_sql_stmt(「EXECUTE IMMEDIATE文」を参照)が単一行を戻すことができる場合にのみ、dynamic_returning_clause内でinto_clauseを使用します。
record
文によって戻される行を格納するレコード変数の名前。文内の各select_itemに対して、レコードの中に、対応する型互換のフィールドが存在している必要があります。
variable
文によって戻された列を格納するスカラー変数の名前、またはPL/SQLホスト環境で宣言され、バインド変数としてPL/SQLに渡されるホスト・カーソル変数の名前。文内の各select_itemに対して、対応する型互換の変数が存在している必要があります。ホスト・カーソル変数のデータ型は、PL/SQLカーソル変数の戻り型と互換性があります。
variableの制限
変数のデータ型は、BOOLEANにすることはできません。
bulk_collect_into_clause
文によって戻された行を格納する1つ以上の既存のコレクションまたはホスト配列を指定します。文内の各select_itemに対して、bulk_collect_into_clauseには、対応する型互換のcollectionまたはhost_arrayが存在している必要があります。
この句を使用する理由は、「バルクSQLおよびバルク・バインド」を参照してください。
bulk_collect_into_clauseの制限
-
dynamic_sql_stmt(「EXECUTE IMMEDIATE文」を参照)が複数行を戻すことができる場合にのみ、dynamic_returning_clause内でbulk_collect_into_clause句を使用します。 -
bulk_collect_into_clauseは、クライアント・プログラムでは使用できません。 -
bulk_collect_into_clauseを含む文で暗黙のデータ型変換が必要な場合、bulk_collect_into_clauseに含めることができるのはcollectionまたはhost_arrayを1つのみです。
collection
文によって戻される行を格納するコレクション変数の名前。
collectionの制限
-
collectionに、文字列で索引付けされた連想配列の名前は使用できません。 -
暗黙的なデータ型変換が文に必要となる場合、
collectionにコンポジット型のコレクションの名前は使用できません。
:host_array
PL/SQLホスト環境で宣言され、バインド変数としてPL/SQLに渡される配列の名前。コロン(:)とhost_arrayの間に空白は入れないでください。
例



