為 Azure Synapse Analytics 中的專用 SQL 集區指派變數
在本文中,您會找到在專用 SQL 集區中指派 T-SQL 變數的重要秘訣。
使用 DECLARE 設定宣告
專用 SQL 集區中的變數是使用 DECLARE
陳述式或 SET
陳述式進行設定的。 使用 DECLARE 初始化變數是在 SQL 集區中設定變數值的其中一種最具彈性的方式。
DECLARE @v int = 0
;
您也可以使用 DECLARE,一次設定一個以上的變數。 您無法使用 SELECT 或 UPDATE 來執行下列動作:
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')
;
您無法在相同的 DECLARE 陳述式中初始化並使用變數。 為了說明這點,不允許下列範例,因為 @p1 已在相同的 DECLARE 陳述式中初始化和使用。 因此,下列範例會顯示錯誤:
DECLARE @p1 int = 0
, @p2 int = (SELECT COUNT (*) FROM sys.types where is_user_defined = @p1 )
;
使用 SET 設定值
SET 是設定單一變數時常見的方法。
下列陳述式是使用 SET 設定變數所有的有效方法:
SET @v = (Select max(database_id) from sys.databases);
SET @v = 1;
SET @v = @v+1;
SET @v +=1;
您一次只能使用 SET 設定一個變數。 不過,允許複合運算子。
限制
您無法使用 UPDATE 進行變數指派。
下一步
如需更多開發秘訣,請參閱開發概觀。