DB2 unterstützt diese Syntax:
UPDATE DEST D SET (AAA,BBB) = (
SELECT MAX(Z.AAA), MAX(Z.BBB) FROM OTHER O WHERE O.ID = D.ID
)
D.h. ich kann einen Select ausführen, der mehr als eine Spalte zurückgibt, und die Ergebnisse in verschiedene Spalten der Zieltabelle (die zu aktualisierende Tabelle) kopieren.
Derby erlaubt nur die Syntax:
UPDATE table-Name [[AS] correlation-Name]
SET column-Name = Value
[ , column-Name = Value} ]*
[WHERE clause]
was bedeutet, dass ich auf Probleme stoßen kann, wenn ich die Ergebnisse der Auswahl in irgendeiner Weise gruppieren muss. Gibt es eine bessere Lösung, als die Aktualisierung in zwei Anweisungen aufzuteilen oder dies lokal in einer Schleife in Java zu tun (d. h. Millionen von UPDATE-Anweisungen zu übermitteln)?