数据库为Oracle8.1.7,其中每隔一、二分钟就会有新增记录,远程一台电脑需要及时地将这个表的新添的数据写入另一个表中,有什么办法实现对服务器的影响最小?
我原来的设想是定时(假如每过10分钟)访问数据库服务器,根据表中记录的流水号,用SQL语言查询出相应的记录,传送到远程客户端上,不知是否可行?

解决方案 »

  1.   

    >>其中每隔一、二分钟就会有新增记录,远程一台电脑需要及时地将这个表的新添的数据写入另一个表中,有什么办法实现对服务器的影响最小?建个触发器,有新纪录,就自动写到远方的数据表,如何??
      

  2.   

    用触发器就可以
    create or replace trigger trg_Table1
      after insert on table1  
      for each row
    begin
      insert into table2 (field1,field2.....)
      values(:New.field1,:New.Field2.....);
    end;
      

  3.   

    远程计算机可以定时查询table2,
    查询完以后删除table2中刚才提取到的数据,
    这样能够保证每次查到的都是新数据
      

  4.   

    to sdzeng(大头鸟)
    用触发器来将新增的数据存入表2,与远程计算机用SQL语句查询最新的记录,并将查询到的更新的数据存到远程计算机的表中,这有什么不同吗?
    to Cassava(车超) 
    你说的存储过程的方法应该和楼上的一样吧,不知你所说的逻辑是指什么?
      

  5.   

    我在服务器DBA Studio下的触发器中创建一个新的触发器,名称就是系统原来的Table1,时间为插入之后,触发器主体为:
    begin
      insert into table2 (field1,field2.....)
      values(:New.field1,:New.Field2.....);
    end;
    系统提示出错“.New不能用在表层”类似的出错信息,如何修改?
      

  6.   

    能不能将每天表Table1中的数据导出到另外一个表中,然后清空表Table1的数据?
    什么方法最简单?