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 el grupo de SQL dedicado.

Definición de variables con DECLARE

Las variables del grupo de SQL dedicado se establecen mediante las instrucciones DECLARE o SET. Inicializar variables con DECLARE es una de las maneras más flexibles de establecer el valor de una variable en el grupo de SQL.

DECLARE @v  int = 0
;

También puede utilizar DECLARE para establecer más de una variable a la vez. No se puede usar SELECT ni 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 utilizar una variable en la misma instrucción DECLARE. Para ilustrar esta cuestión, el ejemplo siguiente no está permitido, ya que @p1 se inicializa y se utiliza en la misma instrucción DECLARE. Por tanto, el siguiente ejemplo produce un error:

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

Definición de valores con SET

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

Las instrucciones siguientes son 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 al mismo tiempo con SET. Aunque los operadores compuestos están permitidos.

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.