Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como definir a variável de uma consulta SQL?

Usando SELECT

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

Usando SET

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

Veja esta pergunta para a diferença entre usar SELECT e SET em TSQL.

Aviso


Se este SELECT declaração retorna vários valores (ruim para começar):
  • Ao usar SELECT , a variável recebe o último valor retornado (como womp disse), sem nenhum erro ou aviso (isso pode causar erros de lógica)
  • Ao usar SET , ocorrerá um erro