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)の使い方を解説しました。

コメント