WHILE ステートメント (PL/SQL)

WHILE ステートメントは、指定された式が真である限り、一連の SQL ステートメントを繰り返します。 条件は、ループ本体に入る直前にその都度評価されます。

呼び出し方法

このステートメントは、PL/SQL プロシージャー、関数、または無名ブロック・ステートメント内に組み込むことができます。

許可

WHILE ステートメントを呼び出すために特権は必要ありません。ただし、ステートメントの許可 ID は、WHILE ステートメント内に組み込んだ SQL ステートメントの呼び出しに必要な特権を保持していなければなりません。

構文

構文図を読む構文図をスキップするWHILE expressionLOOPstatementsEND LOOP

説明

expression
ループを実行するかどうかを判別するために、ループ本体に入る直前にその都度評価される式を指定します。 式が論理的に真の場合は、ループが実行されます。 式が論理的に偽の場合は、ループ処理は終了します。 EXIT ステートメントを使用すると、式が真の場合でもループを終了させることができます。
statements
ループが処理されるたびに実行される PL/SQL および SQL ステートメントを指定します。

以下の例は、無名ブロック内の基本的な WHILE ステートメントを示しています。
DECLARE
  sum INTEGER := 0;
BEGIN
  WHILE sum < 11 LOOP
    sum := sum + 1;
  END LOOP;
END
この無名ブロック内の WHILE ステートメントは、sum が 11 に等しくなるまで実行されてからループ処理が終了します。その後、無名ブロックの処理が完了します。