BREAK (Snowflakeスクリプト)¶
BREAK
(または EXIT
)は、ループを終了します。
ループの終了の詳細については、 ループの終了 をご参照ください。
注釈
この Snowflakeスクリプト 構造は、 Snowflakeスクリプトブロック 内でのみ有効です。
- こちらもご参照ください:
構文¶
{ BREAK | EXIT } [ <label> ] ;
条件:
label
オプションのラベル。ラベルが指定されている場合、
BREAK
はラベルの直後のステートメントにジャンプします。これを使用して、ネストされたループまたはネストされた分岐の複数のレベルから抜け出すことができます。
使用上の注意¶
BREAK
とEXIT
は同義語です。ループが別のループに埋め込まれている場合は、
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;
注意: Snowflake CLI、 SnowSQL、 Classic Console、 execute_stream
、 execute_string
メソッドを Python Connector コードで使用する場合は、代わりにこの例を使用してください(Snowflake CLI、 SnowSQL、 Classic Console、Python ConnectorでSnowflake Scriptingを使用する を参照)。
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 |
+-----------------+