Atribuir variáveis a pools de SQL dedicados no Azure Synapse Analytics

Neste artigo, você encontrará dicas essenciais para atribuir variáveis T-SQL ao pool de SQL dedicado.

Definir variáveis com DECLARE

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

DECLARE @v  int = 0
;

Você também pode usar DECLARE para definir mais de uma variável por vez. Não é possível usar SELECT nem 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')
;

Não é possível inicializar nem usar uma variável na mesma instrução DECLARE. Para ilustrar esse ponto, o exemplo a seguir não é permitido, já que @p1 foi inicializado e usado na mesma instrução DECLARE. Dessa forma, o seguinte exemplo apresenta 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 sempre são 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 por vez com SET. No entanto, os operadores compostos são permitidos.

Limitações

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

Próximas etapas

Para obter mais dicas de desenvolvimento, confira visão geral de desenvolvimento.