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

ORACLE SQL リファレンス

Web oracle.se-free.com
暗黙的カーソルでレコードを複数件SELECTする(CURSOR)
スポンサード リンク

DBからレコードを複数件取得する場合はカーソルを使用します。


DECLARE
 CURSOR カーソル変数1 IS SELECT文;
BEGIN
 FOR カーソル変数2 IN カーソル変数1 LOOP
  カーソル変数2.取得項目名  ・・・・ SELECTで取得した項目のアクセス
 END LOOP
END;


暗黙的カーソルを使用したSELECT方法です。

明示的カーソルを使用した処理よりかなりシンプルになっています。

FOR文の最初で暗黙的に「カーソル変数2」がオープンされます。
END LOOPで「カーソル変数2」が暗黙的にクローズされます。



例1) 表「dept」からSELECTした項目「dept_id」、「dept_name」を全件数、一覧表示する。
declare

 cursor c_depts is select dept_id,dept_name from dept;

begin

 -- フェッチしたレコードをc_dept_recに代入する
 for c_dept_rec in c_depts loop
  dbms_output.put_line('部門コード:' || c_dept_rec.dept_id);
  dbms_output.put_line('部門名:' || c_dept_rec.dept_name);
 end loop;

end;

スポンサード リンク


レコードを1件SELECTする(SELECT〜INTO)
明示的カーソルでレコードを複数件SELECTする(CURSOR)
暗黙的カーソルでレコードを複数件SELECTする(CURSOR)
カーソルの属性
動的SQLでレコードを1件SELECTする(EXECUTE IMMEDIATE)
動的SQLでカーソルを使用してレコードを複数SELECTする(CURSOR)
コミット・ロールバック(COMMIT、ROLLBACK)

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