Reputation: 3
I have two tables :
Boats (BUILDERNAME, MODEL, LENGTH_BY_FEET, BASE_PRICE)
Pricechanges (MODEL, CHANGEDATE, OLDPRICE, NEWPRICE)
.I need to create a trigger that when the Base_Price
of table Boats
is updated it adds a row to Pricechanges
table.
Here is what I have
CREATE OR REPLACE TRIGGER PRICECHANGE
AFTER UPDATE OF BASE_PRICE ON BOATS
FOR EACH ROW
BEGIN
IF UPDATING THEN
INSERT INTO pricechanges (MODEL, CHANGEDATE, OLDPRICE, NEWPRICE)
VALUES (model, SYSDATE, :old.base_price, :new.base_price)
END PRICECHANGE;
Having some trouble with. Any help would be appreciated.
Upvotes: 0
Views: 46
Reputation: 50017
You're missing a semicolon and an END IF
:
CREATE OR REPLACE TRIGGER PRICECHANGE
AFTER UPDATE OF BASE_PRICE ON BOATS
FOR EACH ROW
BEGIN
IF UPDATING THEN
INSERT INTO pricechanges (MODEL, CHANGEDATE, OLDPRICE, NEWPRICE)
VALUES (model, SYSDATE, :old.base_price, :new.base_price);
END IF;
END PRICECHANGE;
Also, because this is an AFTER UPDATE
trigger the test for IF UPDATING
is unnecessary, but it won't hurt anything.
Best of luck.
Upvotes: 1