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 des constructions « branching ».

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;
Copy

Où :

condition

Une expression qui est évaluée à un BOOLEAN.

statement

Une 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, instruction looping ou branching).

  • Un bloc imbriqué.

Notes sur l’utilisation

  • Le mot-clé THEN est obligatoire.

  • ELSEIF est un mot (sans espace).

  • END IF est deux mots.

  • Après chaque clause THEN ou ELSE, le corps autorise les mots-clés BEGIN et END, mais ne les exige pas, même si le corps contient plus d’une statement.

  • Si la condition est 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;
$$
;
Copy

Voici la commande pour appeler la procédure stockée, ainsi que le résultat :

CALL example_if(3);
+-------------------+
| EXAMPLE_IF        |
|-------------------|
| Unexpected input. |
+-------------------+
Copy