Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come impostare una variabile da una query SQL?

Utilizzo di SELECT

SELECT @ModelID = m.modelid 
  FROM MODELS m
 WHERE m.areaid = 'South Coast'

Utilizzo di SET

SET @ModelID = (SELECT m.modelid 
                  FROM MODELS m
                 WHERE m.areaid = 'South Coast')

Vedi questa domanda per la differenza tra l'utilizzo di SELECT e SET in TSQL.

Avviso

Se questo SELECT l'istruzione restituisce più valori (cattivo per cominciare):

  • Quando si utilizza SELECT , alla variabile viene assegnato l'ultimo valore che viene restituito (come ha detto womp), senza alcun errore o avviso (questo potrebbe causare bug logici)
  • Quando si utilizza SET , si verificherà un errore