共用方式為


在 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 用於變數指派。

後續步驟

如需更多開發秘訣,請參閱開發概觀