IF (Snowflake Scripting)

Eine IF-Anweisung bietet die Möglichkeit, eine Menge von Anweisungen auszuführen, wenn eine Bedingung erfüllt ist.

Weitere Informationen zu Verzweigungskonstrukten finden Sie unter Verwenden von Verzweigungen.

Bemerkung

Dieses Snowflake Scripting-Konstrukt ist nur innerhalb eines Snowflake Scripting-Blocks gültig.

Syntax

IF ( <condition> ) THEN
    <statement>;
    [ <statement>; ... ]
[
ELSEIF ( <condition> ) THEN
    <statement>;
    [ <statement>; ... ]
]
[
ELSE
    <statement>;
    [ <statement>; ... ]
]
END IF;
Copy

Wobei:

condition

Ein Ausdruck, der einen BOOLEAN-Wert ergibt

statement

Folgende Typen von Anweisungen sind möglich:

  • Eine einzelne SQL-Anweisung (einschließlich CALL)

  • Eine Ablaufsteuerungsanweisung (z. B. Schleife oder Verzweigung)

  • Ein verschachtelter Block

Nutzungshinweise

  • Das Schlüsselwort THEN ist erforderlich.

  • ELSEIF ist ein Wort (ohne Leerzeichen).

  • END IF sind zwei Worte.

  • Nach jeder THEN- oder ELSE-Klausel lässt der Rumpf die Schlüsselwörter BEGIN und END zu, verlangt sie aber nicht, auch wenn der Rumpf mehr als eine statement enthält.

  • Wenn die condition NULL ist, dann wird sie als FALSE behandelt.

Beispiele

Hier ist ein Beispiel für eine IF-Anweisung in Snowflake Scripting innerhalb einer gespeicherten Prozedur:

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

Hier ist der Befehl zum Aufrufen der gespeicherten Prozedur, zusammen mit der Ausgabe:

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