FETCH
文は、複数行の問合せの結果セットからデータの行を一度に1行、複数行またはすべての行を取り出し、そのデータを変数、レコードまたはコレクションに格納します。
ここでのトピック
セマンティクス
カーソル
オープンされている明示カーソルの名前。明示カーソルをオープンするには、「OPEN文」を使用します。
オープンする前またはクローズした後に明示カーソルからフェッチを実行すると、PL/SQLによって事前定義の例外INVALID_CURSOR
が呼び出されます。
cursor_variable
オープンされているカーソル変数の名前。カーソル変数をオープンするには、「OPEN FOR文」を使用します。カーソル変数は仮サブプログラム・パラメータにすることができます(「サブプログラム・パラメータとしてのカーソル変数」を参照)。
オープンする前またはクローズした後にカーソル変数からフェッチを実行すると、PL/SQLによって事前定義の例外INVALID_CURSOR
が呼び出されます。
:host_cursor_variable
PL/SQLホスト環境で宣言され、バインド変数としてPL/SQLに渡されてからオープンされるカーソル変数の名前。ホスト・カーソル変数をオープンするには、「OPEN FOR文」を使用します。コロン(:)とhost_cursor_variable
の間に空白は入れないでください。
ホスト・カーソル変数のデータ型は、PL/SQLカーソル変数の戻り型と互換性があります。
into_clause
FETCH
文で一度に1行ずつ取り出すには、この句を使用して、カーソルが戻す行の列値を格納する変数またはレコードを指定します。into_clause
の詳細は、「into_clause」を参照してください。
bulk_collect_into_clause [ LIMIT numeric_expression ]
FETCH文が戻す行を格納する1つ以上のコレクションを指定するには、
bulk_collect_into_clauseを使用します。
bulk_collect_into_clause
の詳細は、「bulk_collect_into_clause」を参照してください。
FETCH
文で一度にすべての行を取り出すには、LIMIT
numeric_expression
を省略します。
FETCH
文で一度に取り出す行の数を制限するには、LIMIT
numeric_expression
を指定します。
bulk_collect_into_clauseの制限
bulk_collect_into_clause
は、クライアント・プログラムでは使用できません。
FETCH
文で暗黙のデータ型変換が必要な場合、bulk_collect_into_clause
に含めることができるのはcollection
またはhost_array
を1つのみです。