BREAK (Snowflake Scripting)¶
BREAK
(oder EXIT
) beendet eine Schleife.
Weitere Informationen zur Beendigung von Schleifen finden Sie unter Beenden einer Schleife.
Bemerkung
Dieses Snowflake Scripting-Konstrukt ist nur innerhalb eines Snowflake Scripting-Blocks gültig.
- Siehe auch::
Syntax¶
{ BREAK | EXIT } [ <label> ] ;
Wobei:
label
Ein optionales Label. Wenn das Label angegeben ist, springt
BREAK
zu der Anweisung unmittelbar nach dem Label.Damit können Sie aus mehr als einer Ebene einer verschachtelten Schleife oder einer verschachtelten Verzweigung herauszuspringen.
Nutzungshinweise¶
BREAK
undEXIT
sind gleichbedeutend.Wenn die Schleife in eine oder mehrere andere Schleifen eingebettet ist, können Sie nicht nur die aktuelle Schleife, sondern auch eine umschließende Schleife verlassen, indem Sie das Label der umschließenden Schleife als Teil von
BREAK
einfügen. Ein Beispiel dazu finden Sie im Beispielabschnitt unten.
Beispiele¶
Hier ist ein Beispiel für die Verwendung von BREAK, um nicht nur die aktuelle Schleife, sondern auch eine umgebende Schleife zu verlassen:
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;Hinweis: Wenn Sie SnowSQL oder die klassische Weboberfläche verwenden, benutzen Sie stattdessen dieses Beispiel (siehe Verwenden von Snowflake Scripting in SnowSQL und über die klassische Weboberfläche):
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; $$;
Und hier ist die Ausgabe:
+-----------------+ | anonymous block | |-----------------| | 1 | +-----------------+