IF (Exécution de scripts Snowflake)¶
Une instruction IF permet d’exécuter un ensemble d’instructions si une condition est remplie.
Pour plus d’informations sur les « branching » standard, voir Travailler avec la logique conditionnelle.
Note
Cette construction Exécution de scripts Snowflake n’est valable qu’à l’intérieur d’un bloc Exécution de scripts Snowflake.
Syntaxe¶
IF ( <condition> ) THEN
<statement>;
[ <statement>; ... ]
[
ELSEIF ( <condition> ) THEN
<statement>;
[ <statement>; ... ]
]
[
ELSE
<statement>;
[ <statement>; ... ]
]
END IF;
Où :
conditionUne expression qui est évaluée à un BOOLEAN.
statementUne instruction peut être l’un des éléments suivants :
Une seule instruction SQL (y compris CALL).
Une instruction de flux de contrôle (par exemple, une instruction de bouclage ou de branchement).
Un bloc imbriqué.
Notes sur l’utilisation¶
Le mot-clé
THENest obligatoire.ELSEIFest un mot (sans espace).END IFest deux mots.Après chaque clause
THENouELSE, le corps autorise les mots-clésBEGINetEND, mais ne les exige pas, même si le corps contient plus d’unestatement.Si la
conditionest NULL, alors elle est traitée comme FALSE.
Exemples¶
Voici un exemple d’une instruction IF Exécution de scripts Snowflake à l’intérieur d’une procédure stockée :
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;
$$
;
Voici la commande pour appeler la procédure stockée, ainsi que le résultat :
CALL example_if(3);
+-------------------+
| EXAMPLE_IF |
|-------------------|
| Unexpected input. |
+-------------------+
Pour d’autres exemples utilisant l’instruction IF, voir :
Travailler avec la logique conditionnelle - Renvoyez des valeurs différentes en fonction des conditions IF dans un simple bloc anonyme.
Exemples de cas d’utilisation courants d’Exécution de scripts Snowflake - Exécutez les instructions SQL en fonction des conditions IF dans les boucles.
BREAK, LOOP et Travailler avec des boucles - Exécutez les instructions BREAK pour mettre fin à une boucle en fonction des conditions IF.
EXCEPTION - Soulevez des exceptions en fonction des conditions IF.