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.
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
Zobacz także