CONTINUE (Exécution de scripts Snowflake)¶
CONTINUE
(ou ITERATE
) saute le reste des instructions dans l’itération d’une boucle et commence l’itération suivante de la boucle.
Pour plus d’informations sur la fin de l’itération actuelle d’une boucle, voir Terminer une itération sans terminer la boucle.
Note
Cette construction Exécution de scripts Snowflake n’est valable qu’à l’intérieur d’un bloc Exécution de scripts Snowflake.
- Voir aussi:
Syntaxe¶
{ CONTINUE | ITERATE } [ <label> ] ;
Où :
label
Une étiquette facultative. Si l’étiquette est spécifiée, le
CONTINUE
commencera à la première instruction de la boucle avec l’étiquette.Vous pouvez l’utiliser pour continuer plus d’un niveau plus haut dans une boucle imbriquée ou une branche imbriquée.
Notes sur l’utilisation¶
CONTINUE
etITERATE
sont synonymes.Si la boucle est imbriquée dans une ou plusieurs autres boucles, vous pouvez sortir de la boucle actuelle et commencer à partir de la première instruction de la boucle englobante en incluant l’étiquette de la boucle englobante dans le
CONTINUE
. Pour un exemple, voir la section Exemples ci-dessous.
Exemples¶
La boucle suivante itère 3 fois. Comme le code après l’instruction CONTINUE
n’est pas exécuté, la variable nommée counter2
sera 0 au lieu de 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;Remarque : si vous utilisez SnowSQL, Classic Console, ou la méthode
execute_stream
ouexecute_string
dans le code Python Connector, utilisez cet exemple à la place (voir Utilisation d’Exécution de scripts Snowflake dans SnowSQL, Classic Console, et le connecteur Python) :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; $$;
Voici le résultat de l’exécution de l’exemple :
+-----------------+
| anonymous block |
|-----------------|
| 0 |
+-----------------+