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 bedingter Logik.

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. eine 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);
Copy
+-------------------+
| EXAMPLE_IF        |
|-------------------|
| Unexpected input. |
+-------------------+

Weitere Beispiele für die Verwendung der IF-Anweisung finden Sie unter: