sql – PROBLEMS WITH ORACLE TRIGGER

I have trouble running a trigger in Oracle. The idea is that this be executed by inserting a record in the function I'm m that will perform a calculation between two values ​​(price and quantity). I hope that the trigger will trigger the total field of the table. be updated with the total amount to pay for the order.

I tried to do it this way and the total field is zero

CREATE OR REPLACE TRIGGER trgCalcularTotal BEFORE INSERT ON ORDERS FOR EACH RANK
To start
Updates of orders
SET Total = fncalcularPrice (: new.Price,: new.Quantity)
WHERE orderID =: new.id Order;
END;

And this way, I update all previous records except the last one that is inserted in null

CREATE OR REPLACE TRIGGER trgCalcularTotal BEFORE INSERT ON ORDERS FOR EACH ROW
To start
Updates of orders
SET Total = fncalcularPrice (Price, Quantity)
WHERE orderID = OrderID;
END;

How can I solve my problem?