我想把A库的表table1的内容导入到B库中的table1,要求如果B中已经有某条记录,则修改;如果没有则插入。如何实现?我现在用PL/SQL导出A中的table1,再导入B中,它只会插入B中没有的记录,B中已有的数据它不修改啊!求指教!!!!

解决方案 »

  1.   

    在B库中建立表table2,把表A的table1的数据导入到table2中,然后遍历table2中的数据,再进行判断
      

  2.   

    写一个判断语句吧,如果有则UPDATE这条记录,应该可以用存储过程实现。
      

  3.   

    能详细点吗?要遍历可以直接遍历表A中的table1啊,不需要再建一张表吧
      

  4.   

    MERGE INTO table a
      USING (SELECT cols1,cols2,cols3 ...
      FROM tableb) b
      ON (a.cols1 = b.cos1)
      WHEN NOT MATCHED THEN -不存在,就插入
      INSERT (cols1,cols2,cols3 ...)
      VALUES (b.cols1,cols2,cols3 ...)
      WHEN MATCHED THEN --存在就UPDATE,这个你可以不要的
      UPDATE
      SET a.cols1 = b.cols1, a.cols2 = b.cols2,
      a.cols3 = b.cols3 ...
      where a.cols1 = b.cols1 
      

  5.   

    最好建立一个dblink连接到b库,然后使用merge into语句来完成你想要的功能。
    exp、imp无法实现你所需要的修改功能。