LEAVE ステートメント

LEAVE ステートメントは、 Label によって識別された、含まれている WHILE、REPEAT、LOOP、 または BEGIN ステートメントの現在の繰り返し処理を停止します。

ループ条件を含んでいるステートメントの評価は (もしあれば) バイパスされ、ループは停止します。

構文

次の例では、ループは 4 回繰り返します。
DECLARE i INTEGER;
  SET i = 1;
X : REPEAT 
  ...
    IF i >= 4 THEN
        LEAVE X;
  END IF;

    SET i = i + 1;
UNTIL
    FALSE
END REPEAT;
LEAVE ステートメントをラベル付きステートメントで直接囲む必要はなく、 それによって LEAVE ステートメントは特に強力なものとなります。
DECLARE i INTEGER;
SET i = 0;
X : REPEAT                   -- Outer loop
  ...
    DECLARE j INTEGER;
    SET j = 0;
    REPEAT                     -- Inner loop
    ...
        IF i >= 2 AND j = 1 THEN
            LEAVE X;               -- Outer loop left from within inner loop
    END IF;
    ...
        SET j = j + 1;
  UNTIL
        j >= 3
    END REPEAT;

    SET i = i + 1;
UNTIL
    i >= 3
END REPEAT X;
                                                          -- Execution resumes here after the leave

関連概念
ESQL

関連タスク
ESQL の開発

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