sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo establecer una variable a partir de una 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')

Consulte esta pregunta para ver la diferencia entre usar SELECT y SET en TSQL.

Advertencia

Si esto SELECT declaración devuelve valores múltiples (malo para empezar):

  • Al usar SELECT , a la variable se le asigna el último valor que se devuelve (como dijo womp), sin ningún error o advertencia (esto puede causar errores lógicos)
  • Al usar SET , se producirá un error