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 の概要
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2005 Last updated: 11/07/2005
ak05170_