14.57 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_listに対して、レコードの中に、対応する型互換のフィールドが存在している必要があります。
variable
文によって戻された列を格納するスカラー変数の名前、またはPL/SQLホスト環境で宣言され、バインド変数としてPL/SQLに渡されるホスト・カーソル変数の名前。文内の各select_list項目に対して、対応する型互換の変数が存在している必要があります。ホスト・カーソル変数のデータ型は、PL/SQLカーソル変数の戻り型と互換性があります。
variableの制限
変数
のデータ型は、BOOLEAN
にすることはできません。
bulk_collect_into_clause
文によって戻された行を格納する1つ以上の既存のコレクションまたはホスト配列を指定します。文内の各select_list項目に対して、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
の間に空白は入れないでください。
例