Die Ergebnisse eines selects verwenden um eine Datenmanipulation vorzunehmen.
insert into GRUND_TREE_OE_TREE (GRUND_TREE_ID,OE_TREE_ID,AKTIV) (
select GRUND_TREE_ID,90000002,'1' from GRUND_TREE_OE_TREE where oe_tree_id=50026709
);
Der update-Befehl scheint implizit auch ein select zu machen - sonst könnte ich mir das ergenis dieses updates nicht erklären. Um die gleiche Manipulation der Daten mit Java-Mitteln zu machen, hätte ich bedeutend mehr Ernergie aufwenden müssen.
update ANLIEGEN set sub_oe_tree_id = oe_tree_id where sub_oe_tree_id is null
Man kann im update statement ebenso ein select angeben. Wichtig ist dabei, dass der select pro Datensatz, der vom update betroffen ist, nur einen Wert zurückgibt. Z.B. so
AntwortenLöschenupdate person update_person set abteilungsname = (
select abt.ame from abteilung abt
where abt.id = update_person.abteilung_id
)
Auf diese Weise kann zum Beispiel eine redundante Spalte mit Hilfe eines Joins gefüllt werden, um einen Suchzugriff zu vereinfachen.