sqlServer:
假设有3个表,
tab1:
n int
a char(5)
tab2:
n int
a char(5)
b char(1)
tab3:
n int
a char(5)
c float
d char(1)将这三个表的数据全部导入一个大表bigtab:
n int
a char(5)
b char(1)
c float
d char(1)效率越高越好,因为每个表需要导的数据不一定很多,但是小表(tabn)有可能多一点
请尽量详细点,我数据库基础几乎是等于零

解决方案 »

  1.   

    insert into table bigtab
    select * from tab1
    union
    select * from tab2
    union
    select * from tab3
    ...
      

  2.   

    insert into bigtab(n,a)
    select n,a from tab1insert into bigtab(n,a,b)
    select n,a,b from tab2insert into bigtab(n,a,c,d)
    select n,a,c,d from tab3
      

  3.   

    谢谢二位!
    csuxp2008的方法出错,因为目标数据库表以及所有的源数据库表结构都不一样,目标数据库表段多很多
    wxf163的方法可以,只是我还有点疑问请教:
    如果我有100个源表都要同时导出数据到bigtab表,并且时间要求比较紧,(因为是近于实时的操作,需要不断导数据),这样的方法会不会影响效率?
    我听说有什么DataTable,适合我这种情况吗?或者创建临时表之类的,我只听说过概念,具体一点不清楚,请不吝赐教