CONTINUE (Snowflake Scripting)¶
CONTINUE
(oder ITERATE
) überspringt den Rest der Anweisungen in der Iteration einer Schleife ´und beginnt die nächste Iteration der Schleife.
Weitere Informationen zum Beenden der aktuellen Iteration einer Schleife finden Sie unter Beenden einer Iteration ohne Beendigung der Schleife.
Bemerkung
Dieses Snowflake Scripting-Konstrukt ist nur innerhalb eines Snowflake Scripting-Blocks gültig.
- Siehe auch::
Syntax¶
{ CONTINUE | ITERATE } [ <label> ] ;
Wobei:
label
Ein optionales Label. Wenn das Label angegeben ist, beginnt
CONTINUE
bei der ersten Anweisung in der Schleife mit dem Label.Damit können Sie aus mehr als einer Ebene einer verschachtelten Schleife oder einer verschachtelten Verzweigung herauszuspringen.
Nutzungshinweise¶
CONTINUE
undITERATE
sind gleichbedeutend.Wenn die Schleife in eine oder mehrere andere Schleifen eingebettet ist, können Sie nicht nur die aktuelle Schleife verlassen, sondern auch bei der ersten Anweisung der umschließenden Schleife beginnen, indem Sie das Label der umschließenden Schleife als Teil von
CONTINUE
einfügen. Ein Beispiel dazu finden Sie im Beispielabschnitt unten.
Beispiele¶
Die folgende Schleife wird 3 Mal durchlaufen. Da der Code nach der CONTINUE
-Anweisung nicht ausgeführt wird, hat die Variable mit dem Namen counter2
den Wert 0 und nicht 3.
DECLARE counter1 NUMBER(8, 0); counter2 NUMBER(8, 0); BEGIN counter1 := 0; counter2 := 0; WHILE (counter1 < 3) DO counter1 := counter1 + 1; CONTINUE; counter2 := counter2 + 1; END WHILE; RETURN counter2; 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 counter1 NUMBER(8, 0); counter2 NUMBER(8, 0); BEGIN counter1 := 0; counter2 := 0; WHILE (counter1 < 3) DO counter1 := counter1 + 1; CONTINUE; counter2 := counter2 + 1; END WHILE; RETURN counter2; END; $$;
Hier ist die Ausgabe nach Ausführung des Beispiels:
+-----------------+
| anonymous block |
|-----------------|
| 0 |
+-----------------+