解决方案 »

  1.   

    oe_order_headers_all中是否记录了插入记录的时间?
    如果记录了按时间查找插入即可
    没有记录时间的话,只能通过关键字查找
    查找oe_order_headers_all比oe_order_headers_tmp多的记录
    查询条件用not exists实现
    速度慢的话可以考虑给两个表的关键字增加索引
      

  2.   

    CREATE OR REPLACE TRIGGER erp_add
    AFTER INSERT ON oe_order_headers_all
    FOR EACH ROW
    BEGIN
    INSERT INTO oe_order_headers_tmp (ID, Name ) 
    VALUES( :NEW.id, :NEW.Name ) 
    end;
      

  3.   


    按all表的last_update_date这个字段的时间来判断增量,符合这个时间段的数据就抽取到tmp表中,然后tmp中要在加一个时间戳。具体的代码要怎么实现?求大神指点下
      

  4.   


    按all表的last_update_date这个字段的时间来判断增量,符合这个时间段的数据就抽取到tmp表中,然后tmp中要在加一个时间戳。具体的代码要怎么实现?求大神指点下insert into oe_order_headers_tmp (col1, col2 .. .coln, add_date)
      select (col1, col2 .. .coln, sysdate)
        from oe_order_headers_all
       where last_update_date between [ 时间范围 ];
      

  5.   

    last_update_date?
    oe_order_headers_all这个表是不是除了插入还有更新的现象?
    如果是的话可以考虑用merge into分别处理
    具体用法可以百度下