发布网友 发布时间:2022-04-09 05:28
共3个回答
懂视网 时间:2022-04-09 09:49
---从UNWIREDATA 表中查询数据,如果该表中地磁状态发生改变(CARDSTATE)执行插入到MAINTABLE 表中
---根据唯一值ERID判断,如果ERID值存在,修改该条数据中的地磁状态属性(CARDSTATE)
create or replace trigger tri_dici after
update of CARDSTATE ON UNWIREDATA FOR EACH ROW
declare
V_NUM number;
BEGIN
----多次查询时,每次都将v_num设置成为0
V_NUM := 0;
----判断触发器 ERID 是否存在
select count(*) into V_NUM from MAINTABLE M where M.ERID = :new.ERID;
----如果存在立即修改CARDSTATE
if V_NUM > 0 then
update MAINTABLE M set M.CARDSTATE=:new.CARDSTATE where M.ERID=:new.erid;
else
---执行插入该数据到MAINTABLE表中
insert into MAINTABLE(UNWIREID,ERID,CARDSTATE,BERTTRYSATE,DATATIME) values(:new.unwireid,:new.erid,:new.cardstate,:new.berttrysate,sysdate);
end if;
END;
Oracle触发器修改数据时同步执行插入该条数据
标签:
热心网友 时间:2022-04-09 06:57
A3表,字段t1,t2,t3A4表,字段t1,t2,t3以下触发器,功能是:在往A3表插入数据后触发,将刚刚插入的一行的数据插入表A4.create or replace trigger t1after insert on a3 for each rowbegin--将刚插入行的字段t1,t2,t3插入表A4中insert into a4 values(:new.t1,:new.t2,:new.t3);end;热心网友 时间:2022-04-09 08:15
这样试试:
create or replace trigger ajdh2