Oracleのループ(FOR LOOP, WHILE LOOP)の使い方【PL/SQL】

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

コメント