Comment définir une variable à partir d’une requête SQL ?
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
SETretourne une erreur uniquement si vous NE mettez PAS le point-virgule à la fin de la requête