在数据迁移的时候,将一张表(OLD_T)迁到新数据库的两张表中(NEW_MAIN,NEW_SUB),NEW_MAIN 的主键id在OLD_T中没有,是通过seqence自动生成的,NEW_MAIN与NEW_SUB是通过NEW_MAIN.ID =NEW_SUB.PID来关联的。有没有哪位oracle高手能提供一个用存储过程来实现解决方案?我在此感激不尽!

解决方案 »

  1.   

    数据量大概有多大,一次能不能跑完,
    暂时可以先不考虑NEW_MAIN,NEW_SUB这2个表的关心,因为你也没说清楚这两个表除了一个字段关联还有什么关系直接insert NEW_MAIN,NEW_SUB 这两个表,NEW_MAIN的主键,用一个序列就可以了。
      

  2.   

    补充一下:
     1.NEW_MAIN,NEW_SUB 不是具体的表名,这两个是变量名。他们的字段不确定,是通过txt来配的,有多少也不知道。不过NEW_MAIN 的关键字只有一个id是通过seqence自动获取,NEW_SUB 关键字也只有唯一一个id ,他与NEW_MIAN 的关联关系是:NEW_SUB.PID=NEW_MIAN.id ,
    2.老系统数据是一次性读出来,一次性插入NEW_MAIN的,insert into NEW_MAIN(...) select (NEW_MAIN.nextval,...) from OLD_T
    现在我需要
    insert into NEW_SUB(...) select (NEW_SUB.nextval,(【?】)...) from OLD_T问题:【?】应该放什么值?----【?】代表插到pid字段中,pid在OLD_T中没有的。