OracleのPL/SQLでのループ(FOR LOOP,WHILE LOOP)の使い方を解説します。
ループ(LOOP)
例1. ループ(終了条件をEXIT WHENで指定するパターン)
-- ループ CREATE OR REPLACE PROCEDURE proA IS nCnt NUMBER; BEGIN LOOP nCnt := nCnt + 1; EXIT WHEN nCnt > 10; END LOOP; END;
この例は、変数「nCnt」を1ずつ足していくループです。「LOOP ~ END LOOP」という構文です。
終了する条件は「EXIT WHEN 」のあとに記述します。ここでは10を超えたら終了します。
例2. WHILE LOOP(ループ条件をWHILEで指定するパターン)
-- ループ CREATE OR REPLACE PROCEDURE proA IS nCnt NUMBER; BEGIN WHILE (nCnt <= 10); LOOP nCnt := nCnt + 1; END LOOP; END;
この例は、変数「nCnt」が10以内であればループするという条件を事前に指定しておき、その条件内であればループします。
ループ条件は「WHILE」のあとに記述します。
例3. FOR LOOP(ループ条件をFOR LOOPで指定するパターン)
-- ループ CREATE OR REPLACE PROCEDURE proA IS nCnt NUMBER; BEGIN FOR nCnt IN 1 .. 10 LOOP nCnt := nCnt + 1; END LOOP; END;
この例は、変数「nCnt」が10以内であればループするという条件を「FOR ~ IN」事前に指定しておき、その条件内であればループします。
ループ条件は「FOR~IN~」で記述します。
以上、OracleのPL/SQLでのループ(FOR LOOP)の使い方を解説しました。
コメント