Set @variable oder Select @variable

Frage:
Einer Variablen kann ein Wert mit Set oder mit Select zugewiesen werden. Worin besteht der Unterschied?

Lösung:
Laut Online-Hilfe soll der Befehl Set genutzt werden.
Als Begründung wird angegeben, dass bei Select das Ergebnis mehrere Datensätze umfassen könnte. In einem solchen Fall würde der Wert des letzten Datensatzes der Variable zugewiesen.
Bei Set wird immer nur ein Wert der Variable zugewiesen. Eine Zuweisung wie Set @variable = (Select feld From Tabelle) produziert einen Fehler, sobald das Ergebnis mehr als einen Datensatz umfasst.

/* übernommen aus der Original sqlfaq.de */