BREAK (Script Snowflake)¶
BREAK
(ou EXIT
) encerra um loop.
Para obter mais informações sobre os loops de encerramento, consulte Encerramento de um loop.
Nota
Este constructo do Script Snowflake só é válido dentro de um bloco do Script Snowflake.
- Consulte também:
Sintaxe¶
{ BREAK | EXIT } [ <label> ] ;
Onde:
label
Uma tag opcional. Se a tag for especificada, o
BREAK
saltará para a instrução imediatamente após a tag.Você pode usar isso para sair de mais de um nível de um loop aninhado ou de um ramo aninhado.
Notas de uso¶
BREAK
eEXIT
são sinônimos.Se o loop fizer parte de um outro(s) loop(s), você pode sair não apenas do loop atual, mas também de um loop envolvente, incluindo a tag do loop envolvente como parte do
BREAK
. Para obter um exemplo, consulte a seção exemplos abaixo.
Exemplos¶
Aqui está um exemplo de como usar BREAK para sair não apenas do loop atual, mas também de um loop de delimitação:
DECLARE i INTEGER; j INTEGER; BEGIN i := 1; j := 1; WHILE (i <= 4) DO WHILE (j <= 4) DO -- Exit when j is 3, even if i is still 1. IF (j = 3) THEN BREAK outer_loop; END IF; j := j + 1; END WHILE inner_loop; i := i + 1; END WHILE outer_loop; -- Execution resumes here after the BREAK executes. RETURN i; 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 i INTEGER; j INTEGER; BEGIN i := 1; j := 1; WHILE (i <= 4) DO WHILE (j <= 4) DO -- Exit when j is 3, even if i is still 1. IF (j = 3) THEN BREAK outer_loop; END IF; j := j + 1; END WHILE inner_loop; i := i + 1; END WHILE outer_loop; -- Execution resumes here after the BREAK executes. RETURN i; END; $$;
Aqui está a saída:
+-----------------+ | anonymous block | |-----------------| | 1 | +-----------------+