小弟现在有个问题就是oracle数据库服务器在一台机子上,有两个用户A ,B,A用户用表t_person表,b用户也有表t_person,现在怎样把a用户t_person表中数据导入到b用户t_person表中,知道可以用sqlserver的导入导出工具,除了这个方法外还有没有更好的方法呢,

解决方案 »

  1.   

    a用户执行:
    exp a/pw file=a.dmp table=t_personb用户执行:
    imp b/pw file=a.dmp ignore=y fromuser=a touser=b
      

  2.   

    哦,oracledbalgtu 说得对,是到所有的数据,我有一点没有说清楚,就是还得限制个条件,从a用户t_person表中,通过sql语句加上限制条件查询出来的数据,导入到b用户的t_person表中,该怎样实现呢
      

  3.   

    可以使用下面的方法,用户b,sql下执行:
    copy from a/password@oracle_sid append t_person using select * from t_person where .....;
      

  4.   

    a用户执行: 
    exp a/pw file=a.dmp table=t_person query=\"where t_person.name in(\'XXX\',\'YYY\',\'ZZZ\')\"
    b用户执行: 
    imp b/pw file=a.dmp ignore=y fromuser=a touser=b 
    这样可以吗?
      

  5.   

    可以通过 dblink ,写语句实现..