- 09/06/2017
- 2 minuty na przeczytanie
-
- c
- r
- M
- i
- M
-
+7
.
Applies to: SQL Server (wszystkie obsługiwane wersje) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
Ustawia zmienną lokalną na wartość wyrażenia.
Do przypisywania zmiennych zalecamy używanie SET @local_variable zamiast SELECT @local_variable.
Konwencje składni języka Transact-SQL
Syntaktyka
SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression }
Uwaga
Aby zobaczyć składnię języka Transact-SQL dla SQL Server 2014 i wcześniejszych, zobacz Dokumentacja poprzednich wersji.
Argumenty
@local_variable
Jest zadeklarowaną zmienną, dla której ma zostać przypisana wartość.
{= | += | -= | *= | /= | %= | &= | ^= | |= }
Przypisuje wartość po prawej stronie do zmiennej po lewej stronie.
Operator przypisania złożonego:
operator | akcja |
---|---|
= | Przypisuje wyrażenie, które następuje, do zmiennej. |
+= | Dodaj i przypisz |
-.= | Odejmowanie i przypisywanie |
*= | Mnożenie i przypisywanie |
/= | Podzielenie i przypisywanie |
%= | Modulo i przypisywanie |
&= | Bitwise AND i przypisz |
^= | Bitwise XOR i przypisz |
|= | Bitwise OR i przypisz |
wyrażenie
Jest dowolnym poprawnym wyrażeniem. Obejmuje to podzapytanie skalarne.
Uwagi
SELECT @local_variable jest typowo używane do zwracania pojedynczej wartości do zmiennej. Jednakże, gdy wyrażenie jest nazwą kolumny, może ono zwrócić wiele wartości. Jeśli instrukcja SELECT zwraca więcej niż jedną wartość, zmiennej przypisywana jest ostatnia wartość, która została zwrócona.
Jeśli instrukcja SELECT nie zwraca żadnych wierszy, zmienna zachowuje swoją obecną wartość. Jeśli wyrażenie jest podzapytaniem skalarnym, które nie zwraca żadnej wartości, zmienna jest ustawiana na NULL.
Jedna instrukcja SELECT może inicjalizować wiele zmiennych lokalnych.
Uwaga
Konstrukcja SELECT, która zawiera przypisanie zmiennej, nie może być używana również do wykonywania typowych operacji pobierania zbioru wyników.
Przykłady
A. Użycie SELECT @local_variable do zwrócenia pojedynczej wartości
W poniższym przykładzie zmiennej @var1
przypisano Generic Name
jako jej wartość. Zapytanie skierowane do tabeli Store
nie zwraca żadnych wierszy, ponieważ wartość określona dla CustomerID
nie istnieje w tabeli. Zmienna zachowuje wartość Generic Name
.
Tutaj znajduje się zbiór wyników.
Company Name ------------------------------ Generic Name
B. Użycie SELECT @local_variable do zwrócenia wartości null
W poniższym przykładzie podzapytanie jest używane do przypisania wartości do @var1
. Ponieważ żądana wartość dla CustomerID
nie istnieje, podzapytanie nie zwraca żadnej wartości, a zmienna jest ustawiona na NULL
.
Tutaj znajduje się zbiór wyników.
Company Name ---------------------------- NULL
Zobacz także
DECLARE @local_variable (Transact-SQL)
Wyrażenia (Transact-SQL)
Operatory złożone (Transact-SQL)
SELECT (Transact-SQL)
.