ORACLE触发器的自治事务的注意事项


直接上代码:

Create OR replace Trigger TR_ROBXMX_CLDJBHHX
After INSERT OR UPDATE OR DELETE 
ON ROBXMX1 --要监测的表
FOR EACH ROW
DECLARE 
Pragma Autonomous_Transaction;
Begin
    IF  INSERTING THEN
    Update robxmx1 set robxmx_bh='' where robxmx_nm=:new.robxmx_nm;
    ELSIF UPDATING THEN
    SELECT * FROM ROBXMX1 where roxbxmx_nm=:NEW.ROBXMX_NM;
    ELSIF DELETING THEN
    DELETE  TEMPTABLE Where TEMP_ID=:OLD.ROBXMX.ID;
    END IF;
    commit;
END;

上面代码需要注意的是:

1,因为对于要监测的表进行操作,所以添加自治事务

2.如果同时对表进行操作修改的操作,可能会出现将表锁定的状态。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM