Oracle PL/SQLのループ文のサンプル(LOOP,WHILE)

OracleのPL/SQLのループ文のサンプルです。

確認環境
・Oracle Express Edition 11g Release 2

目次

LOOP文(条件でループを抜ける)

LOOP文のサンプルです。条件でループを抜けます。

CREATE OR REPLACE FUNCTION TEST1 RETURN VARCHAR2
IS
  a NUMBER(10) := 1;
BEGIN
	LOOP
		IF a = 3 THEN
			EXIT; -- ループを抜ける
		END IF;
		a := a + 1;
	END LOOP;
	RETURN a; -- 3が出力される
END;

5行目のLOOPからループ分になります。
6行目のIF文の条件で反転し、7行目のEXITでループ文を抜けています。

FOR文(決まった回数繰り返す)

FOR-LOOP文のサンプルです。決まった回数繰り返します。

CREATE OR REPLACE FUNCTION TEST1 RETURN VARCHAR2
IS
  a NUMBER(10) := 0;
BEGIN
	FOR b IN 1..3 LOOP
		a := a + b;
	END LOOP;
	RETURN a;-- 6が出力される
END;

5行目は、bが1,2,3となり、その分繰り返されます。
6行目は、加算されて6になります。

WHILE文(最初に条件の判定をする)

WHILE文のサンプルです。ループ処理に入る前に条件の判定があります。

CREATE OR REPLACE FUNCTION TEST1 RETURN VARCHAR2
IS
  a NUMBER(10) := 0;
BEGIN
	WHILE a < 5 LOOP
		a := a + 1;
	END LOOP;
	RETURN a;-- 5が出力される
END;

5行目は、WHILE文です。ループ処理に入る前に条件の判定があります。最初の判定で、falseの場合は、ループ処理が1回も行われません。

関連の記事

Oracle PL/SQLのプロシージャのサンプル
Oracle PL/SQLのif文のサンプル

△上に戻る