- 09/06/2017
- 2 minuti per leggere
-
- c
- r
- M
- i
- M
-
+7
Si applica a: SQL Server (tutte le versioni supportate) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
Imposta una variabile locale al valore di un’espressione.
Per assegnare le variabili, si consiglia di usare SET @local_variable invece di SELECT @local_variable.
Convenzioni di sintassi Transact-SQL
Sintassi
SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression }
Nota
Per vedere la sintassi Transact-SQL per SQL Server 2014 e precedenti, vedere la documentazione delle versioni precedenti.
Argomenti
@variabile_locale
È una variabile dichiarata a cui deve essere assegnato un valore.
{= | += | -= | *= | /= | %= | &= | ^= |= }
Assegna il valore sulla destra alla variabile sulla sinistra.
Operatore di assegnazione composto:
operatore | azione |
---|---|
= | Assegna l’espressione che segue, alla variabile. |
+= | Aggiungi e assegna |
-= | Sottrae e assegna |
*= | Moltiplica e assegna |
/= | Divide e assegna |
%= | Modulo e assegna |
&= | Bitwise AND e assegna |
^= | Bitwise XOR e assegna |
|= | Bitwise OR e assegna |
expression
È qualsiasi espressione valida. Questo include una subquery scalare.
Remarks
SELECT @local_variable è tipicamente usato per restituire un singolo valore nella variabile. Tuttavia, quando l’espressione è il nome di una colonna, può restituire più valori. Se l’istruzione SELECT restituisce più di un valore, alla variabile viene assegnato l’ultimo valore restituito.
Se l’istruzione SELECT non restituisce alcuna riga, la variabile mantiene il suo valore attuale. Se l’espressione è una sottoquery scalare che non restituisce alcun valore, la variabile è impostata su NULL.
Una istruzione SELECT può inizializzare più variabili locali.
Nota
Una istruzione SELECT che contiene un’assegnazione di variabile non può essere usata per eseguire anche le tipiche operazioni di recupero dei risultati.
Esempi
A. Usare SELECT @local_variable per restituire un singolo valore
Nel seguente esempio, alla variabile @var1
viene assegnato Generic Name
come valore. La query contro la tabella Store
non restituisce alcuna riga perché il valore specificato per CustomerID
non esiste nella tabella. La variabile mantiene il valore Generic Name
.
Ecco il set di risultati.
Company Name ------------------------------ Generic Name
B. Usare SELECT @local_variable per restituire null
Nell’esempio seguente, una subquery è usata per assegnare un valore a @var1
. Poiché il valore richiesto per CustomerID
non esiste, la subquery non restituisce alcun valore e la variabile è impostata su NULL
.
Ecco l’insieme dei risultati.
Company Name ---------------------------- NULL
Vedi anche
DECLARE @local_variable (Transact-SQL)
Expressions (Transact-SQL)
Compound Operators (Transact-SQL)
SELECT (Transact-SQL)