PL/SQL によるバルクフェッチ処理 PL/SQL の カーソル処理 には 1レコード単位にレコードを取り出す方式 だけではなく 複数のレコードを1回の処理で行うバルク処理がある。 バルク処理は1回の IO で大量のレコードを SELECT してそれを一度に FETCH 処理するために バッチ処理などメモリ資源を十分に確保できる状態では非常に効率よく実行することができる。 バルクフェッチ(取り出し)にはレコード型の コレクション型を使用するとコーディング量が減りメンテナンスも容易になる。 単一データの配列を複数使用する方法もあるが Oracle 9i からはレコード全体の INSERT、UPDATE がサポートされているのでレコード型によるコレクション型を使用するほうが都合良いだろう。 バルクフェッチの例 (FETCH 〜 BULK COLLECT) カーソル定義レコード型のコレクション