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 .