FOR~IN構文を使ってカーソル処理を行うサンプルです。
このカーソル処理は、暗黙カーソルと呼びます。
サンプル
ID | NAME | AGE |
---|---|---|
001 | 富田 | 25 |
002 | 山下 | 53 |
例)test_tblテーブルからカーソルで値を抽出して表示するサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
DECLARE //カーソルの定義 CURSOR c_cur IS SELECT * FROM test_tbl; //カーソルのROWTYPEを設定 rec c_cur%ROWTYPE; BEGIN //暗黙カーソルでカーソルをLOOP処理する FOR rec IN c_cur LOOP DBMS_OUTPUT.PUT_LINE('ID ⇒' || rec.ID); DBMS_OUTPUT.PUT_LINE('NAME ⇒' || rec.NAME); DBMS_OUTPUT.PUT_LINE('AGE ⇒' || rec.AGE); END LOOP; END; |
DBMS_OUTPUTを使うには、事前に「set serveroutput on」を実行しておく必要があります。
- 実行結果
- ID ⇒001 NAME ⇒富田 AGE ⇒25 ID ⇒002 NAME ⇒山下 AGE ⇒53
解説
- FOR~IN処理では、OPENとCLOSEは暗黙的に行われます。
- 暗黙カーソル処理に対して、明示カーソル処理というものもあります。
詳しくは以下ページをご覧ください。
⇒ カーソルのOPEN~FETCH処理を行う(明示カーソル)