BREAK

BREAK (または EXIT)は、ループを終了します。

ループの終了の詳細については、 ループの終了 をご参照ください。

こちらもご参照ください

CONTINUE

構文

{ BREAK | EXIT } [ <label> ] ;

条件:

label

オプションのラベル。ラベルが指定されている場合、 BREAK はラベルの直後のステートメントにジャンプします。

これを使用して、ネストされたループまたはネストされた分岐の複数のレベルから抜け出すことができます。

使用上の注意

  • BREAKEXIT は同義語です。

  • ループが別のループに埋め込まれている場合は、 BREAK の一部として囲んでいるループのラベルを含めると、現在のループだけでなく、囲んでいるループからも抜け出すことができます。例については、以下の例セクションをご参照ください。

BREAK を使用して、現在のループだけでなく、囲んでいるループも終了する例を次に示します。

DECLARE
  i INTEGER;
  j INTEGER;
BEGIN
  i := 1;
  j := 1;
  WHILE (i <= 4) DO
    WHILE (j <= 4) DO
      -- Exit when j is 3, even if i is still 1.
      IF (j = 3) THEN
        BREAK outer_loop;
      END IF;
      j := j + 1;
    END WHILE inner_loop;
    i := i + 1;
  END WHILE outer_loop;
  -- Execution resumes here after the BREAK executes.
  RETURN i;
END;

注: SnowSQL または 従来のウェブインターフェイス を使用している場合は、代わりに次の例を使用します(SnowSQL でのSnowflakeスクリプトと従来のウェブインターフェイスの使用 を参照)。

EXECUTE IMMEDIATE $$
    DECLARE
        i INTEGER;
        j INTEGER;
    BEGIN
        i := 1;
        j := 1;
        WHILE (i <= 4) DO
            WHILE (j <= 4) DO
                -- Exit when j is 3, even if i is still 1.
                IF (j = 3) THEN
                     BREAK outer_loop;
                END IF;
                j := j + 1;
            END WHILE inner_loop;
            i := i + 1;
        END WHILE outer_loop;
        -- Execution resumes here after the BREAK executes.
        RETURN i;
    END;
$$;

出力は次のとおりです。

+-----------------+
| anonymous block |
|-----------------|
|               1 |
+-----------------+
最上部に戻る