问题描述:有三张相关的表,分别是:NTL_TASK_CUSTOMER,NTL_TELEHONE,NTL_ADDRESS,需要将NTL_TASK_CUSTOMER中将近200多万的数据分批搬到NTL_TASK_CUSTOMER_FREEINS表中,其中要同时将关联表NTL_TELEPHONE、NTL_ADDRESS表中的数据保证数据一致性的情况一起搬到NTL_TELEPHONE_FREEINS,NTL_ADDRESS_FREEINS表中,请各位大神帮帮忙,尽量保证效率很高,以前没写过SQL,不知道怎么写,求各位大神指导!SQL

解决方案 »

  1.   

    这个往里面插就可以了吗,如果表结构一致,数据量不大的话,为什么还要分批啊?
    或者加写/*+append nologing*/之类的hits也可以啊
    insert into NTL_TASK_CUSTOMER_FREEINS select * from NTL_TASK_CUSTOMER
    insert into NTL_TELEPHONE_FREEINS 
    select col.... from NTL_TASK_CUSTOMER a,NTL_TELEPHONE b where a.col=b.col...
    insert into NTL_ADDRESS_FREEINS
    select col.... from NTL_TASK_CUSTOMER a,NTL_ADDRESS b where a.col=b.col...具体的关联条件你加一下,就okey了啊
      

  2.   

    直接imp/exp导就可以,把字典信息和索引加上