OPEN
FOR
文は、カーソル変数を問合せに関連付け、問合せを処理するデータベース・リソースを割り当て、結果セットを識別して、カーソルを結果セットの最初の行の前に配置します。問合せにFOR
UPDATE
句がある場合、結果セットの行はOPEN
FOR
文によってロックされます。
ここでのトピック
セマンティクス
open_for_statement
cursor_variable
カーソル変数の名前。cursor_variable
がサブプログラムの仮パラメータの場合、戻り型は指定しないでください。サブプログラム・パラメータとしてのカーソル変数の詳細は、「サブプログラム・パラメータとしてのカーソル変数」を参照してください。
:host_cursor_variable
PL/SQLホスト環境で宣言され、バインド変数としてPL/SQLに渡されるカーソル変数の名前。コロン(:)とhost_cursor_variable
の間に空白は入れないでください。
ホスト・カーソル変数のデータ型は、PL/SQLカーソル変数の戻り型と互換性があります。
select_statement
SQLのSELECT
文(PL/SQLのSELECT
INTO
文ではない)。通常、select_statement
は複数の行を戻します。
参照: SELECT文の構文は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
dynamic_string
データ型がCHAR
、VARCHAR2
またはCLOB
で、SQLのSELECT
文を表す文字列リテラル、文字列変数または文字列式。通常、dynamic_statement
は複数の行を戻すSQLのSELECT
文を表します。
using_clause
位置表記法を使用して、バインド変数を指定します。
注意: 動的SQL文 内でプレースホルダ名を繰り返す場合は、プレースホルダをバインド変数に関連付ける方法が動的SQL文の種類によって異なるということに注意してください。詳細は、「動的SQL文内でのプレースホルダ名の繰返し」を参照してください。 |
using_clauseの制限
select_statement
またはdynamic_sql_stmt
にバインド変数のためのプレースホルダがある場合にのみ使用します。
dynamic_sql_stmt
にRETURNING
INTO
句がある場合は、using_clause
にはIN
バインド変数のみを含めることができます。定義上、RETURNING
INTO
句のバインド変数はOUT
バインド変数です。
bind_argument
実行時に、select_statement
またはdynamic_string
に含まれる対応するプレースホルダを置換する値を持つ式。すべてのプレースホルダにbind_argument
を指定する必要があります。
IN、OUT、IN OUT
バインド変数のパラメータ・モード。IN
バインド変数は、その値をselect_statement
またはdynamic_string
に渡します。OUT
バインド変数は、dynamic_string
によって戻される値を格納します。IN
OUT
バインド変数は、その初期値をdynamic_string
に渡し、dynamic_string
によって戻される値を格納します。デフォルト: IN
。