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

如何判断表中的数据未提交(在线等)?
针对orcale的某个表建立一个触发器,
CREATE   OR   REPLACE   TRIGGER   x_t  
  after   insert   on     x
  begin  
  y_pro;
  end;

但是,往表x中插入数据的时候可能一条或多条,我只想全部插入提交之后在触发触发器,或者在存储过程y_pro能够判断x的数据是否已经提交,已经提交则执行,否则不执行,如何实现呢?请高手指点。


------解决方案--------------------
LZ的意思是插入多条数据并commit后只进行一次触发吧。你这个需求用触发器可能没法实现。
------解决方案--------------------
你可以写一个job,在
insert into x(a,b)
values( 'a1 ', 'b1 ');
时触发job执行,在job里判断数据是否已经提交,因为,job在开始执行的时候x1的数据和x1提交后的数据是不一样的,但是你必须使用行级触发器,表级触发器不能实现你的目的。