Oracle触发器更新数据(ORACLE 触发器同步更新数据总是少最后一步的操作数据)

2024-04-24 04:00:08 :46

oracle触发器更新数据(ORACLE 触发器同步更新数据总是少最后一步的操作数据)

各位老铁们,大家好,今天由我来为大家分享oracle触发器更新数据,以及ORACLE 触发器同步更新数据总是少最后一步的操作数据的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

ORACLE 触发器同步更新数据总是少最后一步的操作数据

建议用行级触发器,先在触发器外同步一次数据insert into rhh_c (select * from rhh minus select * from rhh_c);create or replace trigger tri AFTER insert or update or delete on rhh for each rowbegin if inserting then insert into rhh.c values (:new.spcode,:new.bz);end if;if deleting then--rhh删除后,rhh_c跟着删除,则delete rhh_c where spcode=:old.spcode and bz=:old.bz;--如果不删,这一段if可以不要,也就没必要定义上面的delete了end if;if updating then --这里不知道你将rhh的更新怎么反映到rhh_c上,如果两表完全同步则: update rhh_c set spcode=:new.spcode,bz=:new.bz where spcode=:old.spcode and bz=:old.bz;--如果将rhh的更新作为一条新记录反映到rhh_c则: insert into rhh.c values (:new.spcode,:new.bz);end if;end;/

在oracle触发器中怎么得到“当前”更新的行数据

create or replace trigger tr_t1_uafter update on t1---当修改了t1时触发for each rowbegin update t2 set col1 = :new.col1,col2=:new.col2,... where id = :old.id; -- id是关键列,不能修改;或者其他关联条件end;

ORACLE 触发器问同时更新2个表数据在线等

在一个表上定义的触发器里是不能再对这个表DML的,应该改成这样:create trigger STAFF_CHANGEPASS BEFORE INSERT OR UPDATE OF PASSWORD ON STAFFS FOR EACH ROWdeclare NEXT_KEY number;begin SELECT NVL(MAX(KEYID),0)+1 into NEXT_KEY FROM STAFF_HISTORYPASS; insert into STAFF_HISTORYPASS (KEYID,STAFF_ID,CHANGEDATE,password) values (NEXT_KEY ,:new.STAFF_ID,sysdate,:new.password); --改动位置在下面一行 :new.PASSCHANGEDATE:=sysdate;END STAFF_CHANGEPASS;

oracle 如何用触发器实现更新刚插入的数据

create or replace trigger tr_namebefore inserton 表for each rowbegin:new.某字段=’新值’;end;

关于oracle触发器更新数据到此分享完毕,希望能帮助到您。

oracle触发器更新数据(ORACLE 触发器同步更新数据总是少最后一步的操作数据)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.