Assegnazioni di variabili in Azure SQL Data WarehouseAssigning variables in Azure SQL Data Warehouse

Suggerimenti per l'assegnazione di variabili T-SQL in Azure SQL Data Warehouse per lo sviluppo di soluzioni.Tips for assigning T-SQL variables in Azure SQL Data Warehouse for developing solutions.

Impostazione delle variabili con DECLARESetting variables with DECLARE

Le variabili in SQL Data Warehouse vengono impostate usando l'istruzione DECLARE o SET.Variables in SQL Data Warehouse are set using the DECLARE statement or the SET statement. L'inizializzazione di variabili con DECLARE è uno dei modi più flessibili per impostare un valore della variabile in SQL Data Warehouse.Initializing variables with DECLARE is one of the most flexible ways to set a variable value in SQL Data Warehouse.

DECLARE @v  int = 0
;

È anche possibile usare DECLARE per impostare più di una variabile contemporaneamente.You can also use DECLARE to set more than one variable at a time. Non è possibile usare SELECT o UPDATE per eseguire le operazioni seguenti:You cannot use SELECT or UPDATE to do the following:

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

Non è possibile inizializzare e usare una variabile nella stessa istruzione DECLARE.You cannot initialize and use a variable in the same DECLARE statement. Per illustrare il concetto, l'esempio seguente non è consentito, perché @p1 viene inizializzato e usato nella stessa istruzione DECLARE.To illustrate the point, the following example is not allowed since @p1 is both initialized and used in the same DECLARE statement. L'esempio seguente restituisce un errore.The following example gives an error.

DECLARE @p1 int = 0
,       @p2 int = (SELECT COUNT (*) FROM sys.types where is_user_defined = @p1 )
;

Impostazione di valori con SETSetting values with SET

SET è un metodo comune per l'impostazione di una singola variabile.SET is a common method for setting a single variable.

Le istruzioni seguenti sono tutte valide per impostare una variabile con SET:The following statements are all valid ways to set a variable with SET:

SET     @v = (Select max(database_id) from sys.databases);
SET     @v = 1;
SET     @v = @v+1;
SET     @v +=1;

È possibile impostare una sola variabile alla volta con SET.You can only set one variable at a time with SET. Tuttavia, gli operatori composti sono consentiti.However, compound operators are permissible.

LimitazioniLimitations

Non è possibile usare SELECT o UPDATE per l'assegnazione di variabili.You cannot use SELECT or UPDATE for variable assignment.

Passaggi successiviNext steps

Per altri suggerimenti sullo sviluppo, vedere la panoramica dello sviluppo.For more development tips, see development overview.