• 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)

admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

lg