sql >> Databasteknik >  >> RDS >> Sqlserver

Hur ställer man in variabel från en SQL-fråga?

Med SELECT

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

Med SET

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

Se den här frågan för skillnaden mellan att använda SELECT och SET i TSQL.

Varning

Om detta SELECT uttalande returnerar flera värden (dåligt till att börja med):

  • När du använder SELECT , tilldelas variabeln det sista värdet som returneras (som womp sa), utan något fel eller varning (detta kan orsaka logiska buggar)
  • När du använder SET , kommer ett fel att uppstå


  1. MySQL IN-operatörens prestanda på (stort?) antal värden

  2. Vad är skillnaden mellan Scope_Identity(), Identity(), @@Identity och Ident_Current()?

  3. Ansluter till Informix (IDS12 DB) i IRI Workbench

  4. SQL INTERSECT