ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
複数レコードをまとめて取得する(バルク処理:SELECT〜INTO)
スポンサード リンク


 SELECT 取得項目 INTO BULK COLLECT コレクション FROM 表

 表から取得した複数レコードの項目を、まとめてコレクションにセットする。


例1) 表「emp」からSELECTした項目をコレクション変数「emp_rec」に代入する。
declare

 -- 表「emp」のコレクション型「emp_type」定義
 type emp_type is table of emp%rowtype;
 -- コレクション型「emp_type」の配列定義
 emp_rec emp_type;

begin

 -- 表「emp」から取得した項目を、配列「emp_rec」に代入する
 select * bulk collect into emp_rec from emp;

end;

declare

 -- 表「emp」のコレクション型「emp_type」定義
 type emp_type is table of emp%rowtype;
 -- コレクション型「emp_type」の配列定義
 emp_rec emp_type;

begin

 -- 表「emp」から取得した項目を、配列「emp_rec」に代入する
 select * bulk collect into emp_rec from emp;
 for i in 1 .. emp_rec.count loop
  -- 全レコードの項目「name」を表示する。
  dbms_output.put_line(emp_rec(i).name);
 end loop;

end;
 ※レコード型(%ROWTYPE)は9i以降で使用可能


スポンサード リンク

データベースアクセスの高速化について
複数レコードをまとめて取得する(SELECT〜INTO)
複数レコードをまとめて取得する(FETCH)
複数レコードをまとめて更新する(FORALL)

PL/SQL へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ