使用 Synapse SQL 指派變數
在本文中,您將找到使用 Synapse SQL 指派 T-SQL 變數的秘訣。
使用 DECLARE 設定宣告
Synapse SQL 中的變數是使用 DECLARE
陳述式或 SET
陳述式進行設定的。 使用 DECLARE 初始化變數是在 Synapse 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 陳述式中初始化並使用變數。 為了說明這點,不允許下列範例,因為已在相同的 DECLARE 陳述式中初始化和使用 @p1。 下列範例會顯示錯誤。
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 進行變數指派。
下一步
如需更多開發秘訣,請參閱 Synapse SQL 開發概觀一文。