PL/SQLで繰り返しを記述する場合
通常のSQLでは記述できない繰り返し文をPL/SQLでは記述することができます。
PL/SQLで使用できる繰り返し文は、FOR文とWHILE文と基本的なLOOP文ってのがありますが、ここではよく使うFOR文とWHILE文のみを紹介します。
FOR文の基本構文
FOR <ループカウンタ> IN <初期値> .. <終了値> LOOP <処理> END LOOP;
FOR文の実行例
DECLARE BEGIN FOR i IN 1 .. 5 LOOP DBMS_OUTPUT.PUT_LINE('いるかが' || i || '頭' ); END LOOP; END; /
SQL> SET SERVEROUTPUT ON SQL> DECLARE 2 BEGIN 3 FOR i IN 1 .. 5 LOOP 4 DBMS_OUTPUT.PUT_LINE('いるかが' || i || '頭' ); 5 END LOOP; 6 END; 7 / いるかが1頭 いるかが2頭 いるかが3頭 いるかが4頭 いるかが5頭 PL/SQLプロシージャが正常に完了しました。
WHILE文の基本構文
WHILE <条件式> LOOP <処理> END LOOP;
WHILE文の実行例
DECLARE i NUMBER := 1; BEGIN WHILE i < 6 LOOP DBMS_OUTPUT.PUT_LINE('いるかが' || i || '頭' ); i := i + 1; END LOOP; END; /
SQL> SET SERVEROUTPUT ON SQL> DECLARE 2 i NUMBER := 1; 3 BEGIN 4 WHILE i < 6 LOOP 5 DBMS_OUTPUT.PUT_LINE('いるかが' || i || '頭' ); 6 i := i + 1; 7 END LOOP; 8 END; 9 / いるかが1頭 いるかが2頭 いるかが3頭 いるかが4頭 いるかが5頭 PL/SQLプロシージャが正常に完了しました。
コメント