LOOP ステートメント

LOOP ステートメントは、一連のステートメントを繰り返し無条件に実行します。

プログラムの論理の中で、ループを終了する何らかの方法を提供してください。 LEAVE または RETURN ステートメントのどちらかを使用できます。

構文

もしあれば、Label はステートメントに名前を与えます。 このことは LOOP ステートメントの動作に影響を与えませんが、 ステートメントは ITERATE および LEAVE ステートメント、 または中に ITERATE および LEAVE を組み込む他のラベル付きステートメントを組み込めるようになります。 2 番目の LABEL を取れるのは、最初の LABEL がある場合だけであり、 そのとき 2 つの LABEL は同一でなければなりません。

同じレベルの 2 つ以上のラベル付きステートメントが同じ Label を持つことは可能ですが、 2 番目の Label の利点は部分的に否定されます。その利点とは、これがあいまいさなしに正確に各 END をその LOOP と一致させることです。 ただし、ステートメント内のラベル付きステートメントが同じ Label を持つことはできません。なぜなら、この場合 ITERATE と LEAVE ステートメントの動作があいまいになるからです。

必須論理がループを常に途中で終了するように記述している場合には、LOOP ステートメントは有効です。 それは、このような場合には、ループ条件のテストが REPEAT や WHILE ステートメント内にあっても不要かつ無駄だからです。

DECLARE i INTEGER;
  SET i = 1;
X : LOOP 
  ...
    IF i >= 4 THEN
        LEAVE X;
  END IF;
    SET i = i + 1;
END LOOP X;
必須論理がループを常に途中で終了するように記述している場合には、LOOP ステートメントは有効です。 このような場合、REPEAT および WHILE ステートメントで起こるループ条件のテストは、 不要かつ無駄です。

関連概念
ESQL

関連タスク
ESQL の開発

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