现在有这么一个问题,有两个数据库A、B,A库中有数据表a,B库中有数据表b,现在需要把a表中的几个数据项导入到b表中去,现在区分两种情况请哪位高手达人帮助解决:第一种情况,a表中的数据项的定义与b表不一致,但是a表要导出的每个项的定义都被要导入表b的数据项定义包含,应该怎么解决这种情况?第二种情况:a表中的数据项的定义与b表一致,这个时候应该怎么解决?急切盼望高手出招,一招搞定 ,谢谢啊。。

解决方案 »

  1.   

    1、建立dblink,如:
    在b库中建立到a库的dblink,要先建立b到a的连接串(这个不用说了吧,跟普通客户端建立连接一样配置,可以使用netca或者直接修改tnsnames.ora),连接串名如:conn_to_a
    create database link b_to_a connect to A identified by 密码 using 'conn_to_a';2、使用insert into ...select 语句插入(指定对应列就行了)
    insert into b(b_col1,b_col2) select a_col1,a_col2 from a@b_to_a;
      

  2.   

    如果两个表是在同一个数据库中 用insert into就可以了 
    如果是不同用户的表 将a的查询权限赋给b所在的用户
    insert into b(col1,col2..) select col1,col2 from a.a where ....
    --如果数据项不一致 就把对应的列都写出来  一一对应 
    --如果数据项一致就更好办了 select * 就可以
      

  3.   

    数据项一致 insert into  b select * from a ; 
    不一致     insert into b(column list ……) select column list…… from a