oracle8i建立了 到远程oracle7的数据链路,如何从远程某用户下多个表中取数据并插入本地一个数据总表中,远程的用户下有多个表,我要取的表,命名方式"c年月日",每天都自动生成一个表,如c20080101.我每月从远程导入数据一次,每次要导入几十个表,如一月份要导入c20080101到c20080131 三十一个表,不能导入其它月份的表,该用户下还有其它的表,我想应该首先从月份判断要导入的表名,然后依次将数据全部导入本地的总表中,如何实现啊,想用VB+oralce8i

解决方案 »

  1.   

    不如写个存储过程,这样不需要客户端就能完成
    里面直接类似insert into a select * from a@remote
      

  2.   

    DB Link是加上@DBLink名就可以访问员城标,单表多表是一样的。
    SQL正如楼上所说。
      

  3.   

    关键是如何写一个函数或过程,首先判断这个用户下以C开头的表(还有其它的表),而且要包括所有当月的表,如一月份,就要循环取C20080101到C20080131所有表的数据,然后依次插入到本地一个总表(二月份就是c20080201到c2008029这些表)
      

  4.   

    动态sql declare
    i number;
    begin
    for i in 0..trunc(last_day(sysdate),'dd')-trunc(sysdate,'mm') loop
     dbms_output.put_line(to_char(trunc(last_day(sysdate),'mm')+i,'yyyymmdd'));
     execute immediate 'insert   into   a   select   *   from   c'||to_char(trunc(last_day(sysdate),'mm')+i,'yyyymmdd')||'@remote';
    end loop;
    end;
    /