现有sql2000数据库
要将其中的几个表导入到oracle表中
比如其中算sql库的表test
要将其字段a1,a2,a3,a4,a5
 分别导入到 oracle库的  test1(a1,a2),test2(a3),test3(a4,a5)
应该如何写

解决方案 »

  1.   

    create or replace procedure p_ins_test
    as
    begin
      insert into test1(a1,a2)
      select a1,a2 from test;
      insert into test2(a3)
      select a3 from test;
      insert into test3(a4,a5)
      select a4,a5 from test;
      commit;
    end;
    /
      

  2.   

    方式很多的.给个方法你参考下:
    sql2000数据库表,有没有大字段(如image)类型的?
    如果没有的话,可以在sqlserver创建指向oracle的键接服务,
    然后在sqlserver端执行insert into .... select 1,2 from ....就可以把数据写向oracle了.还有可以使用dts,大致类似.
      

  3.   

    不用存储过程也可以的
    假设你已经有透明网关连到SQL或者把表已经导入ORACLE,表名为a
    insert all
      into test1(a1,a2) values(a1,a2)
      into test2(a3) values(a3)
      into test3(a4,a5) values(a4,a5)
    select *
    from a
      

  4.   

    直接使用sql server的dts工具可以将表的数据传送到oracle不同的表中。或者先把全表导入oracle,然后在oracle做一存储过程,分别将数据插入不同的表中。
      

  5.   

    因为有大字段 的表 而且不少
    dts 直接导入的话 会有问题 
    还有其他的方式吗