Freigeben über


Zuweisen von Variablen für dedizierte SQL-Pools in Azure Synapse Analytics

In diesem Artikel finden Sie wichtige Tipps zum Zuweisen von T-SQL-Variablen in dediziertem SQL-Pool.

Festlegen von Variablen mit DECLARE

Variablen im dedizierten SQL-Pool werden mithilfe der DECLARE Anweisung oder der SET Anweisung festgelegt. Das Initialisieren von Variablen mit DECLARE ist eine der flexibelsten Methoden zum Festlegen eines Variablenwerts im SQL-Pool.

DECLARE @v  int = 0
;

Sie können declare auch verwenden, um mehrere Variablen gleichzeitig festzulegen. Sie können SELECT oder UPDATE nicht verwenden, um folgendes auszuführen:

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')
;

Sie können eine Variable in derselben DECLARE-Anweisung nicht initialisieren und verwenden. Um den Punkt zu veranschaulichen, ist das folgende Beispiel nicht zulässig, da @p1 sowohl initialisiert als auch in derselben DECLARE-Anweisung verwendet wird. Das folgende Beispiel erzeugt 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 gängige Methode zum Festlegen einer einzelnen Variablen.

Die folgenden Anweisungen sind alle gültigen Methoden 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 jeweils nur eine Variable mit SET festlegen. Verbundoperatoren sind jedoch zulässig.

Einschränkungen

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

Nächste Schritte

Weitere Hinweise zur Entwicklung finden Sie in der Entwicklungsübersicht.