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 einem dedizierten SQL-Pool.
Festlegen von Variablen mit DECLARE
Variablen im dedizierten SQL-Pool werden mit der Anweisung DECLARE
oder der Anweisung SET
festgelegt. Das Initialisieren von Variablen mit DECLARE ist eine der flexibelsten Möglichkeiten zum Festlegen eines Variablenwerts im SQL-Pool.
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: Im folgenden Beispiel, das nicht zulässig ist, wird @p1 in der gleichen DECLARE-Anweisung sowohl initialisiert als auch verwendet. Daher liefert das folgende Beispiel 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 Hinweise zur Entwicklung finden Sie in der Entwicklungsübersicht.