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つのみです。