Udostępnij za pośrednictwem


Przypisywanie zmiennych dla dedykowanych pul SQL w usłudze Azure Synapse Analytics

W tym artykule znajdziesz podstawowe wskazówki dotyczące przypisywania zmiennych T-SQL w dedykowanej puli SQL.

Ustawianie zmiennych za pomocą funkcji DECLARE

Zmienne w dedykowanej puli SQL są ustawiane przy użyciu instrukcji DECLARE lub instrukcji SET . Inicjowanie zmiennych za pomocą funkcji DECLARE to jeden z najbardziej elastycznych sposobów ustawiania wartości zmiennej w puli SQL.

DECLARE @v  int = 0
;

Możesz również użyć funkcji DECLARE, aby ustawić więcej niż jedną zmienną jednocześnie. Nie można użyć polecenia SELECT lub UPDATE, aby wykonać następujące czynności:

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

Nie można zainicjować zmiennej i użyć jej w tej samej instrukcji DECLARE. Aby zilustrować punkt, poniższy przykład jest niedozwolony , ponieważ @p1 jest zarówno zainicjowany, jak i używany w tej samej instrukcji DECLARE. W związku z tym w poniższym przykładzie jest wyświetlany błąd:

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

Ustawianie wartości za pomocą zestawu

SET to typowa metoda ustawiania pojedynczej zmiennej.

Wszystkie poniższe instrukcje są prawidłowymi sposobami ustawiania zmiennej za pomocą polecenia SET:

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

Jednocześnie można ustawić tylko jedną zmienną za pomocą polecenia SET. Jednak operatory złożone są dopuszczalne.

Ograniczenia

Nie można użyć aktualizacji do przypisania zmiennej.

Następne kroki

Aby uzyskać więcej porad dotyczących programowania, zobacz Omówienie programowania.