Travailler avec la logique conditionnelle¶
Exécution de scripts Snowflake prend en charge les constructions « branching » suivantes pour la logique conditionnelle :
IF-THEN-ELSEIF-ELSE
CASE
Instructions IF¶
Dans Exécution de scripts Snowflake, vous pouvez exécuter un ensemble d’instructions si une condition est remplie en utilisant une instruction IF.
La syntaxe de l’instruction IF est la suivante :
Dans une instruction IF :
Si vous devez spécifier des conditions supplémentaires, ajoutez une clause ELSEIF pour chaque condition.
Pour spécifier les instructions à exécuter quand aucune des conditions n’est évaluée comme TRUE, ajoutez une clause ELSE.
Les clauses ELSEIF et ELSE sont facultatives.
Voici un exemple simple d’une instruction IF :
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_stream or execute_string method in Python Connector
code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):
Pour une syntaxe complète et des détails sur les instructions IF, voir IF (Exécution de scripts Snowflake).
Pour d’autres exemples utilisant l’instruction IF, voir :
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.
Instructions CASE¶
Une instruction CASE se comporte de la même manière qu’une instruction IF mais offre un moyen plus simple de spécifier des conditions multiples.
Exécution de scripts Snowflake prend en charge deux formes de l’instruction CASE :
Les sections suivantes expliquent comment utiliser ces différentes formes.
Note
Snowflake prend en charge d’autres utilisations du mot-clé CASE en dehors d’Exécution de scripts Snowflake (par exemple, l’expression conditionnelle CASE).
Instructions CASE simples¶
Dans une instruction CASE simple, vous définissez différentes branches (clauses WHEN) pour différentes valeurs possibles d’une expression donnée.
La syntaxe de l’instruction CASE simple est la suivante :
Snowflake exécute la première branche pour laquelle value_n_of_expression correspond à la valeur de expression_to_match.
Par exemple, supposons que vous vouliez exécuter différentes instructions, en fonction de la valeur de la variable expression_to_evaluate. Pour chaque valeur possible de cette variable (par exemple value a, value b, etc.), vous pouvez définir une clause WHEN qui spécifie la ou les instructions à exécuter :
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_stream or execute_string method in Python Connector
code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):
Pour une syntaxe complète et des détails sur les instructions CASE, voir CASE (Exécution de scripts Snowflake).
Instructions CASE recherchées¶
Dans l’instruction CASE recherchée, vous spécifiez différentes conditions pour chaque branche (clause WHEN). Snowflake exécute la première branche pour laquelle l’expression correspond à TRUE.
La syntaxe de l’instruction CASE recherchée est la suivante :
Par exemple, lorsque vous exécutez l’instruction CASE suivante, la valeur renvoyée est a is x car cette branche est la première branche dans laquelle l’expression correspond à TRUE :
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_stream or execute_string method in Python Connector
code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):
Pour une syntaxe complète et des détails sur les instructions CASE, voir CASE (Exécution de scripts Snowflake).