CONTINUE

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.

Voir aussi

BREAK

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 et ITERATE 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 ou l’interface Web classique, utilisez cet exemple à la place (voir Utilisation d’Exécution de scripts Snowflake dans SnowSQL et l’interface Web classique) :

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 |
+-----------------+