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 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 SQL do Synapse.
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, o exemplo a seguir não é permitido, já que @p1 foi inicializado e usado na mesma instrução DECLARE. O exemplo a seguir 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 o artigo Visão geral de desenvolvimento do SQL do Synapse.