CONTINUE (Script Snowflake)

CONTINUE (ou ITERATE) ignora o resto das instruções na iteração de um loop e inicia a próxima iteração do loop.

Para obter mais informações sobre como terminar a atual iteração de um loop, consulte Como encerrar uma iteração sem encerrar o loop.

Nota

Este constructo do Script Snowflake só é válido dentro de um bloco do Script Snowflake.

Consulte também:

BREAK

Sintaxe

{ CONTINUE | ITERATE } [ <label> ] ;
Copy

Onde:

label

Uma tag opcional. Se a tag for especificada, o CONTINUE começará na primeira instrução do loop com a tag.

Você pode usar isto para continuar mais de um nível superior em um loop aninhado ou em um ramo aninhado.

Notas de uso

  • CONTINUE e ITERATE são sinônimos.

  • Se o loop estiver integrado em outro(s) loop(s), você pode romper não apenas o loop atual e começar a partir da primeira instrução no loop delimitador, incluindo o rótulo do loop delimitador como parte de CONTINUE. Para obter um exemplo, consulte a seção exemplos abaixo.

Exemplos

O seguinte loop itera 3 vezes. Como o código após a instrução CONTINUE não é executado, a variável chamada counter2 será 0 em vez 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;
Copy

Nota: se você estiver usando SnowSQL ou Classic Console, use este exemplo (consulte Como usar o Script Snowflake no SnowSQL e na Classic Console):

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;
$$;
Copy

Aqui está o resultado da execução do exemplo:

+-----------------+
| anonymous block |
|-----------------|
|               0 |
+-----------------+
Copy