Compartilhar via


Atribuir variáveis com o SQL do Synapse

Neste artigo, você encontrará dicas para atribuir variáveis T-SQL com o SQL do Synapse.

Definir variáveis com DECLARE

As variáveis no SQL do Synapse são definidas usando a DECLARE instrução ou a SET instrução. Inicializar variáveis com DECLARE é uma das maneiras mais flexíveis de definir um valor variável no SQL do Synapse.

DECLARE @v  int = 0
;

Você também pode usar DECLARE para definir mais de uma variável de cada vez. Você não pode usar SELECT ou UPDATE para fazer o seguinte:

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

Você não pode inicializar e usar uma variável na mesma instrução DECLARE. Para ilustrar, o exemplo a seguir não é permitido, pois @p1 é inicializado e usado na mesma instrução DECLARE. O exemplo a seguir gera um erro.

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

Definir valores com SET

SET é um método comum para definir uma única variável.

As instruções a seguir são todas maneiras válidas de definir uma variável com SET:

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

Você só pode definir uma variável de cada vez com SET. No entanto, os operadores compostos são permitidos.

Limitações

Você não pode usar UPDATE para atribuição de variável.

Próximas Etapas 

Para obter mais dicas de desenvolvimento, consulte o artigo de visão geral de desenvolvimento do SQL do Synapse .