SELECT
の使用
SELECT @ModelID = m.modelid
FROM MODELS m
WHERE m.areaid = 'South Coast'
SET
の使用
SET @ModelID = (SELECT m.modelid
FROM MODELS m
WHERE m.areaid = 'South Coast')
TSQLでのSELECTとSETの使用の違いについては、この質問を参照してください。
警告
このSELECT
の場合 ステートメントは複数の値を返します (そもそも悪い):
-
SELECT
を使用する場合 、変数には、エラーや警告なしに(wompが言ったように)返される最後の値が割り当てられます(これによりロジックバグが発生する可能性があります) -
SET
を使用する場合 、エラーが発生します