我怎样才能修复我的触发器以允许它编译?
How can I fix my trigger to allow it to compile?
我有两个 tables :
Boats (BUILDERNAME, MODEL, LENGTH_BY_FEET, BASE_PRICE)
Pricechanges (MODEL, CHANGEDATE, OLDPRICE, NEWPRICE)
.
我需要创建一个触发器,当 table Boats
的 Base_Price
更新时,它会向 Pricechanges
table 添加一行。
这是我的
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;
遇到一些麻烦。
任何帮助将不胜感激。
你少了一个分号和一个 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;
此外,因为这是一个 AFTER UPDATE
触发器,所以 IF UPDATING
的测试是不必要的,但它不会造成任何伤害。
祝你好运。
我有两个 tables :
Boats (BUILDERNAME, MODEL, LENGTH_BY_FEET, BASE_PRICE)
Pricechanges (MODEL, CHANGEDATE, OLDPRICE, NEWPRICE)
.
我需要创建一个触发器,当 table Boats
的 Base_Price
更新时,它会向 Pricechanges
table 添加一行。
这是我的
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;
遇到一些麻烦。 任何帮助将不胜感激。
你少了一个分号和一个 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;
此外,因为这是一个 AFTER UPDATE
触发器,所以 IF UPDATING
的测试是不必要的,但它不会造成任何伤害。
祝你好运。