Compartir por


Asignación de variables para grupos de SQL dedicados en Azure Synapse Analytics

En este artículo, encontrará sugerencias esenciales para asignar variables de T-SQL en un grupo de SQL dedicado.

Establecer variables con DECLARE

Las variables del grupo de SQL dedicado se establecen mediante la DECLARE instrucción o la SET instrucción . Inicializar variables con DECLARE es una de las formas más flexibles de establecer un valor de variable en el grupo de SQL.

DECLARE @v  int = 0
;

También puede usar DECLARE para establecer más de una variable a la vez. No puede usar SELECT o UPDATE para hacer lo siguiente:

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

No se puede inicializar ni usar una variable en la misma instrucción DECLARE. Para ilustrar el punto, no se permite el ejemplo siguiente, ya que @p1 se inicializa y se usa en la misma instrucción DECLARE. Por lo tanto, en el ejemplo siguiente se produce un error:

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

Establecimiento de valores con SET

SET es un método común para establecer una sola variable.

Las instrucciones siguientes son todas formas válidas de establecer una variable con SET:

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

Solo puede establecer una variable a la vez con SET. Sin embargo, se permiten los operadores compuestos.

Limitaciones

No se puede usar UPDATE para la asignación de variables.

Pasos siguientes

Para obtener más sugerencias sobre desarrollo, vea la información general sobre desarrollo.