Wie in den Kommentaren angefordert, mache ich meinen Kommentar als Antwort.
Ihr Problem besteht darin, dass Sie versuchen, einen Wert zu ändern, NACHDEM der Wert beibehalten wurde. Versuchen Sie, Ihren Trigger auf BEFORE
zu ändern als:
CREATE OR REPLACE TRIGGER TOTAL
BEFORE UPDATE OR INSERT ON ORDER_ITEMS
FOR EACH ROW
DECLARE
temp NUMBER;
today DATE;
BEGIN
temp:=(:NEW.item_price-:NEW.discount_amount)*:NEW.quantity;
today := CURRENT_DATE;
:NEW.TOTAL := temp;
dbms_output.put_line('Updated on:' || today || ' item number: '
|| :NEW.item_id || 'order number:' || :NEW.order_id
|| 'total: ' ||:NEW.total);
END;
/