SET

Initialisiert den Wert einer -Sitzungsvariablen mit dem Ergebnis eines SQL-Ausdrucks.

Siehe auch:

SHOW VARIABLES, UNSET

Syntax

SET <var> = <expr>

SET ( <var> [ , <var> ... ] )  = ( <expr> [ , <expr> ... ] )
Copy

Parameter

var

Gibt den Bezeichner für die zu initialisierende Variable an.

expr

Gibt den SQL-Ausdruck für die Variable an.

Nutzungshinweise

  • Sie können mehrere Variablen in derselben Anweisung festlegen.

  • Wenn Sie komplexe Ausdrücke angeben, ist in der Sitzung möglicherweise ein laufendes virtuelles Warehouse erforderlich.

  • Die Anzahl der Ausdrücke muss mit der Anzahl der zu initialisierenden Variablen übereinstimmen.

  • Die Größe von Zeichenfolgen- oder Binärwertvariablen ist auf 256 Byte begrenzt.

  • Der Bezeichner (d. h. Name) einer SQL-Variable ist auf 256 Zeichen begrenzt.

  • Variablennamen wie CURRENT oder PUBLIC sind für die zukünftige Verwendung durch Snowflake reserviert und können nicht verwendet werden.

Beispiele

Diese beiden Beispiele verwenden Konstanten zur Festlegung von Variablen:

SET V1 = 10;

SET V2 = 'example';
Copy

In diesem Beispiel werden mehrere Variablen gleichzeitig festgelegt:

SET (V1, V2) = (10, 'example');
Copy

In diesem Beispiel wird die Variable auf den Wert eines nicht trivialen Ausdrucks festgelegt, der eine SQL-Abfrage verwendet:

SET id_threshold = (SELECT COUNT(*)/2 FROM table1);
Copy

Das folgende Beispiel zeigt das Ergebnis, wenn bei einem SET-Befehl alle Ausdrücke auf der rechten Seite des Zuweisungsoperators ausgewertet werden, bevor der erste Ausdruck auf der linken Seite des Operators festgelegt wird. Beachten Sie, dass der Wert der Variable mit dem Namen max auf der Grundlage des alten Wertes von min festgelegt wird, nicht auf der Grundlage des neuen Wertes.

SET (min, max) = (40, 70);
Copy
SET (min, max) = (50, 2 * $min);

SELECT $max;
Copy
+------+
| $MAX |
|------|
|   80 |
+------+