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:
Sintaxe¶
{ CONTINUE | ITERATE } [ <label> ] ;
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
eITERATE
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;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; $$;
Aqui está o resultado da execução do exemplo:
+-----------------+
| anonymous block |
|-----------------|
| 0 |
+-----------------+