Freigeben über


Zuweisen von Variablen mit Synapse SQL

In diesem Artikel finden Sie Tipps zur Zuweisung von T-SQL-Variablen mit Synapse SQL.

Festlegen von Variablen mit DECLARE

Variablen werden in Synapse SQL mit der DECLARE-Anweisung oder der SET-Anweisung festgelegt. Das Initialisieren von Variablen mit DECLARE ist eine der flexibelsten Möglichkeiten zum Festlegen eines Variablenwerts in Synapse SQL.

DECLARE @v  int = 0
;

Sie können mit DECLARE auch mehrere Variablen gleichzeitig festlegen. Folgende Vorgänge können nicht mithilfe von SELECT oder UPDATE ausgeführt werden:

DECLARE @v  INT = (SELECT TOP 1 c_customer_sk FROM Customer where c_last_name = 'Smith')
,       @v1 INT = (SELECT TOP 1 c_customer_sk FROM Customer where c_last_name = 'Jones')
;

Eine Variable kann nicht in der gleichen DECLARE-Anweisung initialisiert und verwendet werden. Zur Veranschaulichung: Das folgende Beispiel ist nicht zulässig, da @p1 in der gleichen DECLARE-Anweisung sowohl initialisiert als auch verwendet wird. Das folgende Beispiel zeigt einen Fehler.

DECLARE @p1 int = 0
,       @p2 int = (SELECT COUNT (*) FROM sys.types where is_user_defined = @p1 )
;

Festlegen von Werten mit SET

SET ist eine allgemeine Methode zum Festlegen einer einzelnen Variablen.

Die folgenden Anweisungen sind alle gültige Möglichkeiten zum Festlegen einer Variablen mit SET:

SET     @v = (Select max(database_id) from sys.databases);
SET     @v = 1;
SET     @v = @v+1;
SET     @v +=1;

Sie können mit SET nur jeweils eine einzige Variable festlegen. Allerdings sind zusammengesetzte Operatoren zulässig.

Einschränkungen

Sie können UPDATE nicht für die Zuweisung von Variablen verwenden.

Nächste Schritte

Weitere Tipps zur Entwicklung finden Sie im Artikel Entwicklungsübersicht für Synapse SQL.