编写了一个触发器,功能是在向A表插数据的时候,向B表插入数据,编译成功,但是在向A表插入数据的时候总报触发器的错误。各位大侠指点!很简单的触发器,就几行代码
CREATE OR REPLACE TRIGGER AUSER.T_TESTDELETEDATA
AFTER DELETE OR INSERT
ON WEB.TBL_RECOMADV
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
newdate date;
BEGIN
select sysdate into newdate from dual;
if deleting then
insert into liqi (oprno,oprtime,oprtype,kindid,advid,time,pri) values (sq_id.nextval,newdate,'删除',:old.kindid,:old.advid,:old.time,:old.pri);
elsif inserting then
insert into liqi (oprno,oprtime,oprtype,kindid,advid,time,pri) values (sq_id.nextval,newdate,'插入',:new.kindid,:new.advid,:new.time,:new.pri);
end if; EXCEPTION
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
raise_application_error(-20508,'触发器操作失败');
END T_TESTDELETEDATA;
CREATE OR REPLACE TRIGGER AUSER.T_TESTDELETEDATA
AFTER DELETE OR INSERT
ON WEB.TBL_RECOMADV
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
newdate date;
BEGIN
select sysdate into newdate from dual;
if deleting then
insert into liqi (oprno,oprtime,oprtype,kindid,advid,time,pri) values (sq_id.nextval,newdate,'删除',:old.kindid,:old.advid,:old.time,:old.pri);
elsif inserting then
insert into liqi (oprno,oprtime,oprtype,kindid,advid,time,pri) values (sq_id.nextval,newdate,'插入',:new.kindid,:new.advid,:new.time,:new.pri);
end if; EXCEPTION
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
raise_application_error(-20508,'触发器操作失败');
END T_TESTDELETEDATA;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货