Beispiele für häufige Anwendungsfälle von Snowflake Scripting¶
Sie können anonyme Blöcke und gespeicherte Prozeduren schreiben, die Elemente, Datentypen und Variablen der Snowflake Scripting-Sprache verwenden, um Lösungen von gängigen Anwendungsfällen umzusetzen. Dieses Thema enthält Beispiele für Snowflake Scripting-Code für einige gängige Anwendungsfälle.
Tabellendaten mit Benutzereingaben aktualisieren¶
Das folgende Beispiel erstellt eine gespeicherte Prozedur, die Tabellendaten mit Benutzereingaben aktualisiert. Das Beispiel verwendet eine FOR-Schleife, um über die Zeilen in einem RESULTSET der Tabelle zu iterieren. Die FOR-Schleife enthält bedingte Logik. Bindungsvariablen bestimmen auf Basis von Benutzereingaben die genauen Aktualisierungen, die von der gespeicherten Prozedur ausgeführt werden.
Das Beispiel verwendet die folgenden Daten:
Die folgende gespeicherte Prozedur verwendet eine FOR-Schleife, um über die Zeilen in einem RESULTSET der Tabelle bonuses zu iterieren. Dabei wird der Bonus als ein bestimmter Prozentsatz des Gehalts jedes Mitarbeiters mit der angegebenen Leistungsbewertung angewendet. Die gespeicherte Prozedur verwendet eine bedingte Logik, um den Bonus nur auf die Mitarbeiter mit der angegebenen Leistungsbewertung anzuwenden. Die Eingaben (bonus_percentage und performance_value) werden zudem als Bindungsvariablen verwendet.
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):
Um die gespeicherte Prozedur auszuführen, geben Sie den Bonusprozentsatz und die Leistungsbewertung an. Rufen Sie zum Beispiel die gespeicherte Prozedur auf, und wenden Sie einen Bonus von 3 % für Mitarbeiter mit einer Leistungsbewertung von 5 an:
Führen Sie eine Abfrage aus, um die Ergebnisse anzuzeigen:
Daten filtern und sammeln¶
Das folgende Beispiel erstellt eine gespeicherte Prozedur, die die Daten in einer Tabelle filtert und sammelt. Die Prozedur fügt Zeilen mit den gesammelten Daten in eine andere Tabelle ein, um historische Trends zu verfolgen.
Das Beispiel verwendet die folgenden Daten, die die Eigentümerschaft und die Einstellungen von virtuellen Maschinen (VMs) verfolgen:
Angenommen, ein Unternehmen möchte die Daten in dieser Tabelle im Zeitverlauf verfolgen, wenn die Werte der Einstellungen bestimmte Schwellenwerte überschreiten. Die folgende gespeicherte Prozedur sammelt und filtert die Daten in der Tabelle vm_settings und fügt dann Zeilen in die Tabelle vm_settings_history ein, wenn die folgenden Bedingungen erfüllt sind:
vm_settingmit einem Wert vons1ist niedriger eingestellt als5.vm_settingmit einem Wert vons2ist höher eingestellt als500.
Die in die Tabelle vm_settings_history eingefügten Zeilen enthalten alle Spaltenwerte aus der Tabelle vm_settings und außerdem die emp_id des Mitarbeiters, dem die VM gehört, und das aktuelle Datum.
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):
Führen Sie die gespeicherte Prozedur aus:
Sie können die Daten anzeigen, die die Prozedur in die Tabelle vm_settings_history eingefügt hat, indem Sie die folgende Abfrage ausführen: