Comment définir une variable à partir d’une requête SQL ?
Source : Stack Overflow [sql-server].)
En utilisant SELECT
SELECT @ModelID = m.modelid
FROM MODELS m
WHERE m.areaid = 'South Coast'
En utilisant SET
SET @ModelID = (SELECT m.modelid
FROM MODELS m
WHERE m.areaid = 'South Coast');
Ensuite, vous pouvez utiliser SELECT pour afficher la valeur de @ModelID ou utiliser la variable dans votre code.
SELECT @ModelID
Consultez cette question pour la différence entre l’utilisation de SELECT et SET en TSQL.
Avertissement
Si cette instruction SELECT retourne plusieurs valeurs (ce qui est problématique en soi) :
En utilisant SELECT, la variable reçoit la dernière valeur retournée (comme l’a dit womp), sans aucune erreur ni avertissement (cela peut causer des bogues logiques)
La requête SET retourne une erreur uniquement si vous NE mettez PAS le point-virgule à la fin de la requête