Last Updated on 2. Juni 2016 by Thomas J. Fehr


Um nun den Wert der Gruppenzugehörigkeit aus der Tabelle AccountOld zu übernehmen, haben wir folgende Möglichkeiten für die verschiedenen Datenbanksysteme:
MS SQL-Server
Beim Microsoft SQL-Server können wir dies auf 2 verschiedene Arten erledigen. Mit Hilfe einer Unterabfrage (Sub-Select) oder mit einem INNER-JOIN. Aus meiner Sicht ist jedoch die Variante mit dem INNER-JOIN zu bevorzugen.
Mit einem Sub-Select:
UPDATE Account SET Account.GroupID = (SELECT AccountOld.GroupID
FROM AccountOLD WHERE Account.Name = AccountOld.Name)
Mit einem INNER JOIN:
UPDATE ACCOUNT SET Account.GroupID = AccountOld.GroupID
FROM Account INNER JOIN AccountOLD ON Account.Name = AccountOld.Name
SQLite
Bei der SQLite DB funktioniert es nur mit Hilfe eines Sub-Select, da in einem Update-Statement kein FROM oder INNER-JOIN erlaubt ist.
Mit einem Sub-Select:
UPDATE Account SET GroupID = (SELECT AccountOld.GroupID
FROM AccountOLD WHERE Account.Name = AccountOld.Name)
Resultat des Update-Befehl
cool, hier habe ich dann endlich meine Lösung gefunden.
DANKE!!!
Das funktioniert Gott sei Dank auch Jahre später noch 🙂
UND — Google machts möglich — läßt sich auch finden (so man das passende Suchwort weiß)