Atribuir variáveis com o Synapse SQL
Neste artigo, encontrará sugestões para atribuir variáveis T-SQL com o Synapse SQL.
Definir variáveis com DECLARE
As variáveis no Synapse SQL são definidas com a DECLARE
instrução ou a SET
instrução . Inicializar variáveis com DECLARE é uma das formas mais flexíveis de definir um valor variável no Synapse SQL.
DECLARE @v int = 0
;
Também pode utilizar DECLARE para definir mais do que uma variável de cada vez. Não pode utilizar 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')
;
Não pode inicializar e utilizar uma variável na mesma instrução DECLARE. Para ilustrar, o exemplo seguinte não é permitido, uma vez que @p1 é inicializado e utilizado na mesma instrução DECLARE. O exemplo seguinte 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 seguintes instruções são todas formas 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;
Só pode definir uma variável de cada vez com SET. No entanto, os operadores compostos são permitidos.
Limitações
Não pode utilizar UPDATE para atribuição de variáveis.
Passos seguintes
Para obter mais sugestões de desenvolvimento, veja o artigo Descrição geral do desenvolvimento do SQL do Synapse .