WHILE ステートメント

WHILE ステートメントは、条件式を評価し、それが TRUE であれば、 一連のステートメントを実行します。

構文

WHILE ステートメントは、condition が TRUE になるまで、 DO で指定されたステップを繰り返します。 プログラムの論理の中で、ご自分の責任で、必ずループが終了するようにしなければなりません。 condition が UNKNOWN と評価される場合、 ループは直ちに終了しません。

もしあれば、Label はステートメントに名前を与えます。このことは WHILE ステートメントそれ自体の動作に影響を与えませんが、 ステートメントは ITERATE および LEAVE ステートメント、または中に それらのステートメントを組み込む他のラベル付きステートメントを組み込めるようになります。 2 番目の LABEL を取れるのは、最初の LABEL がある場合だけであり、 そのとき 2 つの LABEL は同一でなければなりません。 同じレベルの 2 つ以上のラベル付きステートメントが同じ Label を持つことはエラーではありませんが、 2 番目の Label の利点は部分的に否定されます。その利点とは、これがあいまいさなしに正確に各 END をその WHILE と一致させることです。 ただし、ステートメント内のラベル付きステートメントが同じ Label を持つとエラーになります。 なぜなら、この場合 ITERATE と LEAVE ステートメントの動作があいまいになるからです。

以下に例を示します。
DECLARE i INTEGER;
  SET i = 1;
X : WHILE i <= 3 DO
  ...
    SET i = i + 1;
  END WHILE X;

関連概念
ESQL

関連タスク
ESQL の開発
動的フィールド参照の作成

関連資料
構文の設定
ESQL のステートメント