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 ::=
キーワードとパラメータの説明
この句は、複数の行を戻す文にのみ使用され、戻される行を格納する1つ以上のコレクションを指定します。 この句では、RETURNING
INTO
が属する文の各select_item
に、対応する型互換性のあるcollection_item
または:host_array_name
が必要です。
この句を使用する理由は、表12-0「バルクSQLによる、DML文および問合せのループ・オーバーヘッドの削減」を参照してください。
collection_name
戻された行を格納するための、宣言されたコレクションの名前。
host_array_name
戻された行が格納される配列。 この配列は、PL/SQLホスト環境で宣言して、バインド引数として(コロン(:)接頭辞を付けて)PL/SQLに渡す必要があります。
INTO
この句は、単一行を戻す文にのみ使用され、戻された行の列値が格納される変数またはレコードを指定します。 この句では、RETURNING
INTO
句が属する文の各select_item
に、対応する型互換性のある変数またはレコード・フィールドが必要です。
multiple_row_expression
表の複数行を戻す式。
record_name
戻された行が格納されるレコード。
single_row_expression
表の単一行を戻す式。
variable_name
戻された行の列値が格納される変数の名前、またはPL/SQLホスト環境で宣言され、バインド引数としてPL/SQLに渡されるカーソル変数の名前。 カーソル変数のデータ型は、PL/SQLカーソル変数の戻り型と互換性があります。
USING
RETURNING
句を持つDML文の場合は、パラメータ・モードOUT
を定義して指定しなくても、OUT
バインド引数をRETURNING
INTO
句に入れることができます。 USING
句とRETURNING
INTO
句の両方を使用する場合、USING
句にはIN
引数のみを含めることができます。
実行時に、バインド引数または定義変数によって、動的SQL文内の対応するプレースホルダが置き換えられます。 すべてのプレースホルダをUSING
句内またはRETURNING
INTO
句内(あるいはその両方)のバインド引数、またはINTO
句内の定義変数に関連付ける必要があります。
バインド行数の値をブール・リテラル(TRUE
、FALSE
、またはNULL
)にすることはできません。 NULL
値を動的SQL文に渡す方法については、「USING句でのNULL用の未初期化変数」を参照してください。
関連トピック