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;
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
- oderELSE
-Klausel lässt der Rumpf die SchlüsselwörterBEGIN
undEND
zu, verlangt sie aber nicht, auch wenn der Rumpf mehr als einestatement
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;
$$
;
Hier ist der Befehl zum Aufrufen der gespeicherten Prozedur, zusammen mit der Ausgabe:
CALL example_if(3);
+-------------------+
| EXAMPLE_IF |
|-------------------|
| Unexpected input. |
+-------------------+