日期:2014-05-17  浏览次数:21109 次

触发器中如何提交数据?着急。。
我的两个oracle数据库A,B通过dblink连接后,做如下操作
1。A.TBL1   上建一个触发器,当数据发生变化后,把变化的数据填充到   B.TBL2   中
2。对A.TBL1进行增删改操作
3。在A中查询   select   *   from   tbl1@alinkb   数据准确
4。在B中查询   select   *   from   tbl2     数据不对,数据并没有过来。
由于触发器中不能用commit,造成我的数据不能同步,也就是说A中数据不提交,B中看不到。。。郁闷

------解决方案--------------------
表级触发器想用commit的话,要用自治事务。
------解决方案--------------------
在declare后加pragma autonomous_transaction;
就可以自治事务了