表A(V1,V2,V3,V4),B(N1,N2,V1,V4) 其中V4是一个系统时间,也就是操作该表是存入的一个系统时间。比如往A,B同时插入一条数据的时候,这个时候A.V4 = B.V4是相等的。
现在我写一个触发器监控A表?
也就是说对它的3中状态insert, update ,deleteafter insert or delete OR update on A
  for each row
declare
  v_tmp varchar2(30);
begin
if inserting then
    select N2 into v_tmp from B where B.N1 = :NEW.V1 AND V4 = :NEW.V4; --取这个数据的时候发现取不到???
end if;操作事件不是after么?
怎么会在插入A的后在到B表找一个记录怎么找不到?A与B插入的记录基本上是同时的啊?存的操作表的时间字段V4也是一样的。
请高手帮忙??非常感谢!
如果要实现 插入A表后马上就能找到B表中对应A表操作后留下的记录?怎么办?
  

解决方案 »

  1.   

    对B表没写触发器,只对A表写了一个。
    监控A表状态,从而得到它在B表中的变化。
      

  2.   

    "A,B同时插入一条数据"这是如何实现的?难道一个SQL可以同时插入两张表?
      

  3.   

    一起commit,不代表是一起执行insert的,那么A表insert后可能B表还没有INSERT
      

  4.   

    你如何保证B表数据已经commit完成了。