Udostępnij za pośrednictwem


Wybierz @ local_variable (języka Transact-SQL)

Określa, że określona zmienna lokalna, utworzony za pomocą DECLARE @local_variable powinien być zestaw na określone wyrażenie.

Do przypisywania zmiennych, zaleca się używać zestawu @local_variable zamiast wybierz @local_variable.Aby uzyskać więcej informacji, zobacz USTAWIĆ @ local_variable.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression } [ ,...n ] [ ; ]

Argumenty

  • @local_variable
    Jest zadeklarowana zmienna, dla którego ma być przypisana wartość.

  • =
    Przypisz wartość na prawo do zmiennej po lewej stronie.

  • {= | += | -= | *= | /= | %= | &= | ^= | |= }
    Złożone operatorprzypisania:

    += Dodawanie i przypisywanie

    -= Odjąć i przypisać

    * = Pomnożyć i przypisać

    / = Dzielenie i przypisz

    % = Modulo i przypisać

    &= Iloczynu (AND) i przypisz

    ^ = Bitowe XOR i przypisać

    | = Logiczną lub i przypisz

  • expression
    Wszelkie obowiązuje wyrażenie.Obejmuje to wartość skalarna podzapytanie.

Uwagi

Wybierz polecenie @local_variable jest zazwyczaj używane do zwracania pojedynczą wartość do zmiennej.Jednakże, gdy expression to nazwa kolumnamoże zwracać wiele wartości.Jeśli instrukcja SELECT zwraca więcej niż jedną wartość, zmienna jest przypisana ostatnią wartość zwracana.

Jeśli instrukcja SELECT zwraca nie wierszy, zmienna zachowuje swoją wartość.Jeśli expression wartość skalarna podzapytanie , która zwraca wartość nie jest zmienna jest zestaw na NULL.

SELECT jednej instrukcja może zainicjować wielu zmiennych lokalnych.

Ostrzeżenie

SELECT instrukcja , która zawiera przypisanie zmiennej nie można również wykonywać typowe, zestaw wyników operacje pobierania.

Przykłady

A.Zwraca jedną wartość za pomocą SELECT @ local_variable

W poniższym przykładzie zmienna @var1 jest przypisany Generic Name jako jego wartość.Kwerenda przeciwko Store tabela zwraca nie wierszy, ponieważ wartość określona dla CustomerID nie istnieje w tabela.Zachowuje zmiennej Generic Name wartości.

USE AdventureWorks2008R2 ;       
GO       
DECLARE @var1 nvarchar(30);       
SELECT @var1 = 'Generic Name';       
SELECT @var1 = Name       
FROM Sales.Store       
WHERE CustomerID = 1000 ;      
SELECT @var1 AS 'Company Name';

Oto zestaw wyników.

Company Name

------------------------------

Generic Name

B.Za pomocą SELECT @ local_variable nie zestaw wyników zwraca null

W poniższym przykładzie podzapytanie jest używana do przypisywania wartości do @var1.Ponieważ wartości wymagane dla CustomerID nie istnieje zwraca podzapytanie żadna wartość zmiennej jest zestaw na NULL.

USE AdventureWorks2008R2 ; 
GO 
DECLARE @var1 nvarchar(30) 
SELECT @var1 = 'Generic Name' 
SELECT @var1 = (SELECT Name 
FROM Sales.Store 
WHERE CustomerID = 1000) 
SELECT @var1 AS 'Company Name' ;

Oto zestaw wyników.

Company Name

----------------------------

NULL