Compartir a través de


Asignación de variables con Synapse SQL

En este artículo, encontrará sugerencias para asignar variables de T-SQL con Synapse SQL.

Establecer variables con DECLARE

Las variables de Synapse SQL 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 Synapse 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 ilustrarlo, no se permite el ejemplo siguiente, ya que @p1 se inicializa y se usa en la misma instrucción DECLARE. 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 de desarrollo, consulte el artículo Introducción al desarrollo de SQL de Synapse .