CREATE OR REPLACE TRIGGER "TG_ONTHEWAYPAYMENT_UPDATE" AFTER
UPDATE ON "ONTHEWAYPAYMENT"
FOR EACH ROW
BEGIN
update AGENTCREDIT set GENERALONTHEWAYPAYMENT =
(select
GeneralOnthewayPayment
from
VIEW_GOP,ONTHEWAYPAYMENT
where
VIEW_GOP.AGENTID = AGENTCREDIT.AGENTID
and VIEW_GOP.AGENTID = :new.AGENTID)
END;
/
其中VIEW_GOP是一个视图。
CREATE OR REPLACE TRIGGER TG_ONTHEWAYPAYMENT_UPDATE AFTER
UPDATE ON ONTHEWAYPAYMENT
FOR EACH ROW
BEGIN
update AGENTCREDIT set GENERALONTHEWAYPAYMENT =
(select
GeneralOnthewayPayment
from
VIEW_GOP
where
VIEW_GOP.AGENTID = AGENTCREDIT.AGENTID
and VIEW_GOP.AGENTID = :new.AGENTID);
END;
/
触发器已创建。
但在执行时,报错:
ORA-04091: 表 ONTHEWAYPAYMENT 发生了变化,触发器/函数不能读
ORA-06512: 在"TG_ONTHEWAYPAYMENT_UPDATE", line 2
ORA-04088: 触发器 'TG_ONTHEWAYPAYMENT_UPDATE' 执行过程中出错
如何解决?