Verwenden von bedingter Logik¶
Snowflake Scripting unterstützt die folgenden Verzweigungskonstrukte für die bedingte Logik:
IF-THEN-ELSEIF-ELSE
CASE
IF-Anweisungen¶
In Snowflake Scripting können Sie mit einer IF-Anweisung eine Bedingung prüfen und eine Menge von Anweisungen ausführen, wenn die Bedingung erfüllt ist.
Die Syntax für die IF-Anweisung lautet:
In der IF-Anweisung:
Wenn Sie zusätzliche Bedingungen angeben müssen, fügen Sie für jede Bedingung eine ELSEIF-Klausel hinzu.
Um die Anweisungen anzugeben, die ausgeführt werden sollen, wenn keine der Bedingungen TRUE ergibt, fügen Sie eine ELSE-Klausel hinzu.
Die ELSEIF- und ELSE-Klauseln sind optional.
Im Folgenden finden Sie ein einfaches Beispiel für eine IF-Anweisung:
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):
Die vollständige Syntax und Einzelheiten zu IF-Anweisungen finden Sie unter IF (Snowflake Scripting).
Weitere Beispiele für die Verwendung der IF-Anweisung finden Sie unter:
Beispiele für häufige Anwendungsfälle von Snowflake Scripting – Führen Sie SQL-Anweisungen basierend auf IF-Bedingungen in Schleifen aus.
BREAK, LOOP und Verwenden von Schleifen – Führen Sie BREAK-Anweisungen aus, um eine Schleife auf der Grundlage von IF-Bedingungen zu beenden.
EXCEPTION – Lösen Sie Ausnahmen aufgrund von IF-Bedingungen aus.
CASE-Anweisungen¶
Eine CASE-Anweisung verhält sich ähnlich wie eine IF-Anweisung, bietet jedoch eine einfachere Möglichkeit zur Angabe mehrerer Bedingungen.
Snowflake Scripting unterstützt zwei Formen der CASE-Anweisung:
In den nächsten Abschnitten wird erläutert, wie diese unterschiedlichen Formen verwendet werden:
Bemerkung
Snowflake unterstützt andere Verwendungen des Schlüsselworts CASE außerhalb von Snowflake Scripting (z. B. den bedingten CASE-Ausdruck).
Einfache CASE-Anweisungen¶
In einer einfachen CASE-Anweisung definieren Sie verschiedene Verzweigungen (WHEN-Klauseln) für verschiedene mögliche Werte eines bestimmten Ausdrucks.
Die Syntax für die einfache CASE-Anweisung lautet:
Snowflake führt den ersten Zweig aus, bei dem value_n_of_expression mit dem Wert von expression_to_match übereinstimmt.
Angenommen, dass Sie je nach dem Wert der Variablen expression_to_evaluate verschiedene Anweisungen ausführen möchten. Für jeden möglichen Wert dieser Variablen (z. B. value a, value b usw.) können Sie eine WHEN-Klausel definieren, die die auszuführenden Anweisungen angibt:
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):
Die vollständige Syntax und Einzelheiten zu CASE-Anweisungen finden Sie unter CASE (Snowflake Scripting).
Durchsuchte CASE-Anweisungen¶
In der durchsuchten (searched) CASE-Anweisung geben Sie für jede Verzweigung (WHEN-Klausel) unterschiedliche Bedingungen an. Snowflake führt den ersten Zweig aus, für den der Ausdruck TRUE ergibt.
Die Syntax für die durchsuchte CASE-Anweisung lautet:
Wenn Sie beispielsweise die folgende CASE-Anweisung ausführen, ist der zurückgegebene Wert a is x, da dieser Zweig der erste Zweig ist, in dem der Ausdruck TRUE ergibt:
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):
Die vollständige Syntax und Einzelheiten zu CASE-Anweisungen finden Sie unter CASE (Snowflake Scripting).