SET¶
Initialisiert den Wert einer -Sitzungsvariablen mit dem Ergebnis eines SQL-Ausdrucks.
- Siehe auch:
Syntax¶
SET <var> = <expr>
SET ( <var> [ , <var> ... ] ) = ( <expr> [ , <expr> ... ] )
Parameter¶
var
Gibt den Bezeichner für die zu initialisierende Variable an.
expr
Gibt den SQL-Ausdruck für die Variable an.
Nutzungshinweise¶
Der Befehl unterstützt das Setzen mehrerer Variablen in derselben Anweisung.
Wenn der Befehl komplexe Ausdrücke ausführt, muss möglicherweise ein virtuelles Warehouse in der Sitzung ausgeführt werden.
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
oderPUBLIC
sind für die zukünftige Verwendung durch Snowflake reserviert und können nicht verwendet werden.
Beispiele¶
Diese beiden Beispiele verwenden Konstanten:
SET V1 = 10;
SET V2 = 'example';
In diesem Beispiel werden mehrere Variablen gleichzeitig festgelegt:
SET (V1, V2) = (10, 'example');
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);
Das folgende Beispiel zeigt, dass 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 Variablen mit dem Namen „max“ auf dem alten Wert von „min“ und nicht auf dem neuen Wert basiert.
set (min, max) = (40, 70);set (min, max) = (50, 2 * $min); +----------------------------------+ | status | |----------------------------------| | Statement executed successfully. | +----------------------------------+ select $max; +------+ | $MAX | |------| | 80 | +------+