Tilldela variabler med Synapse SQL

I den här artikeln hittar du tips för att tilldela T-SQL-variabler med Synapse SQL.

Ange variabler med DECLARE

Variabler i Synapse SQL anges med instruktionen DECLARE eller -instruktionen SET . Att initiera variabler med DECLARE är ett av de mest flexibla sätten att ange ett variabelvärde i Synapse SQL.

DECLARE @v  int = 0
;

Du kan också använda DECLARE för att ange fler än en variabel i taget. Du kan inte använda SELECT eller UPDATE för att göra följande:

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

Du kan inte initiera och använda en variabel i samma DECLARE-instruktion. För att illustrera är följande exempel inte tillåtet eftersom @p1 både initieras och används i samma DECLARE-instruktion. I följande exempel visas ett fel.

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

Ange värden med SET

SET är en vanlig metod för att ange en enskild variabel.

Följande instruktioner är alla giltiga sätt att ange en variabel med SET:

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

Du kan bara ange en variabel i taget med SET. Sammansatta operatorer är dock tillåtna.

Begränsningar

Du kan inte använda UPDATE för variabeltilldelning.

Nästa steg

Fler utvecklingstips finns i översiktsartikeln för Synapse SQL-utveckling .