Hallo Heinz,
zuerst einmal: Das sind 3 verschiedene Befehle. Ich liste das hier einmal neu.
Code: Alles auswählen
UPDATE "T_Stamm" SET
"VTagKurs" = "AktKurs",
"AktKurs" = (SELECT "AktKurs" FROM "T_Kurse" WHERE "T_Kurse"."ISIN" = "T_Stamm"."ISIN");
UPDATE "T_Stamm" SET "H_Kurs" = "AktKurs" WHERE "AktKurs" > "H_Kurs";
UPDATE "T_Stamm" SET "T_Kurs" = "AktKurs" WHERE "AktKurs" < "T_Kurs";
Die Unterabfrage im ersten Code wird ein Problem sein. Du hast für die Tabelle der äußeren Abfrage kein Alias gesetzt. Dann kann die Unterabfrage nicht auf die äußere Abfrage zugreifen. Also ist dort "T_Stamm" unbekannt. Vielleicht meinst Du:
Code: Alles auswählen
UPDATE "T_Stamm" AS "a" SET
"VTagKurs" = "AktKurs",
"AktKurs" = (SELECT "AktKurs" FROM "T_Kurse" WHERE "T_Kurse"."ISIN" = "a"."ISIN");
Und schon taucht das nächste Problem auf: Du weist "VTagKurs" einen Wert "AktKurs" zu, den Du gleichzeitig ändern willst. Vielleicht meinst Du ja
Code: Alles auswählen
UPDATE "T_Stamm" AS "a" SET
"VTagKurs" = (SELECT "AktKurs" FROM "T_Kurse" WHERE "T_Kurse"."ISIN" = "a"."ISIN"),
"AktKurs" = (SELECT "AktKurs" FROM "T_Kurse" WHERE "T_Kurse"."ISIN" = "a"."ISIN");
Oder Du willst erst die eine Änderung durchführen und "AktKurs" nachher ändern. Dann haben "VTagKurs" und "AktKurs" gegebenenfalls wieder unterschiedliche Werte:
Code: Alles auswählen
UPDATE "T_Stamm" SET "VTagKurs" = "AktKurs";
UPDATE "T_Stamm" AS "a" SET
"AktKurs" = (SELECT "AktKurs" FROM "T_Kurse" WHERE "T_Kurse"."ISIN" = "a"."ISIN");
Gruß
Robert