Ich schreibe eine Update-Abfrage und es gibt mir Fehler, was ich versuche zu tun ist, um einen Wert zu nehmen multiplizieren es zu einem anderen Wert hinzugefügt.Update-Anweisung Fehler, Klammer, fehlgeschlagen Validierung ORACLE
Original-Aussage
Die Erklärung unten einwandfrei funktioniert,
UPDATE HOLIDAY_RESERVATION R SET SUBTOTAL =
NVL((SELECT F.FLI_PRICE FROM FLIGHT F WHERE F.FLI_ID = R.IN_FLIGHT_ID), 0) +
NVL((SELECT F.FLI_PRICE FROM FLIGHT F WHERE F.FLI_ID = R.OUT_FLIGHT_ID), 0) +
NVL((SELECT AC.ACC_PRICEPN FROM ACCOMMODATION AC WHERE AC.ACC_ID = R.ACC_ID), 0);
Modifizierte Version nicht funktioniert Dies ist die modifizierte Version, ich die ersten beiden Auswahl mit einem Wert multiplizieren wollen in jedes Feld für Flug- und Außensitze Nr.
UPDATE HOLIDAY_RESERVATION R SET SUBTOTAL =
NVL(((SELECT F.FLI_PRICE FROM FLIGHT F WHERE F.FLI_ID = R.IN_FLIGHT_ID), 0) * NVL(R.IN_FLIGHT_SEATS_NO,0)) +
NVL(((SELECT F.FLI_PRICE FROM FLIGHT F WHERE F.FLI_ID = R.OUT_FLIGHT_ID), 0)* NVL(R.OUT_FLIGHT_SEATS_NO,0)) +
NVL((SELECT AC.ACC_PRICEPN FROM ACCOMMODATION AC WHERE AC.ACC_ID = R.ACC_ID), 0);
Dies sind DML-Anweisungen, keine Trigger. –
Ja, ich habe vergessen, den Titel zu aktualisieren –