Condividi tramite


Assegnare variabili con Synapse SQL

In questo articolo sono disponibili suggerimenti per l'assegnazione di variabili T-SQL con Synapse SQL.

Impostare le variabili con DECLARE

Le variabili in Synapse SQL vengono impostate usando l'istruzione DECLARE o l'istruzione SET . L'inizializzazione delle variabili con DECLARE è uno dei modi più flessibili per impostare un valore di variabile in Synapse SQL.

DECLARE @v  int = 0
;

È anche possibile usare DECLARE per impostare più variabili alla volta. Non è possibile usare SELECT o UPDATE per eseguire le operazioni seguenti:

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. Per illustrare, l'esempio seguente non è consentito perché @p1 viene inizializzato e usato nella stessa istruzione DECLARE. Nell'esempio seguente viene generato un errore.

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

Impostare i valori con SET

SET è un metodo comune per impostare una singola variabile.

Le istruzioni seguenti sono tutti modi validi per impostare una variabile con 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. Tuttavia, gli operatori composti sono consentiti.

Limitazioni

Non è possibile usare UPDATE per l'assegnazione di variabili.

Passaggi successivi

Per altri suggerimenti sullo sviluppo, vedere l'articolo Panoramica dello sviluppo di Synapse SQL .