IF (Script Snowflake)¶
Uma instrução IF
fornece uma forma de executar um conjunto de instruções se uma condição for atendida.
Para obter mais informações sobre construções de ramificações, consulte Como trabalhar com construções de ramificação.
Nota
Este constructo do Script Snowflake só é válido dentro de um bloco do Script Snowflake.
Sintaxe¶
IF ( <condition> ) THEN
<statement>;
[ <statement>; ... ]
[
ELSEIF ( <condition> ) THEN
<statement>;
[ <statement>; ... ]
]
[
ELSE
<statement>;
[ <statement>; ... ]
]
END IF;
Onde:
condition
Uma expressão que avalia como um BOOLEAN.
statement
Uma instrução pode ser qualquer uma das seguintes opções:
Uma única instrução SQL (incluindo CALL).
Uma instrução de fluxo de controle (ex.: instrução de looping ou ramificação).
Um bloco aninhado.
Notas de uso¶
A palavra-chave
THEN
é necessária.ELSEIF
é uma palavra (sem espaços).END IF
são duas palavras.Após cada cláusula
THEN
ouELSE
, o corpo permite as palavras-chaveBEGIN
eEND
, mas não as exige, mesmo que o corpo contenha mais de umastatement
.Se
condition
for NULL, então ele será tratado como FALSE.
Exemplos¶
Aqui está um exemplo de uma instrução de Script Snowflake IF
dentro de um procedimento armazenado:
CREATE or replace PROCEDURE example_if(flag INTEGER)
RETURNS VARCHAR
LANGUAGE SQL
AS
$$
BEGIN
IF (FLAG = 1) THEN
RETURN 'one';
ELSEIF (FLAG = 2) THEN
RETURN 'two';
ELSE
RETURN 'Unexpected input.';
END IF;
END;
$$
;
Aqui está o comando para chamar o procedimento armazenado, juntamente com a saída:
CALL example_if(3);
+-------------------+
| EXAMPLE_IF |
|-------------------|
| Unexpected input. |
+-------------------+