现在有N个表的数据要集成到一张新的表里,要怎末才能实现,,
比如  表1:字段1,字段2,字段3
     表2:字段1,字段2,字段3
     表3:字段1,字段2,字段3
   都要集成到表table里,怎么用存储过程来动态实现。

解决方案 »

  1.   

    如果不重复
    insert [table](字段1,字段2,字段3)
    select 字段1,字段2,字段3 from table1
    union all
    select 字段1,字段2,字段3 from table2
    union all
    select 字段1,字段2,字段3 from table3
    如果要消除重复insert [table](字段1,字段2,字段3)
    select 字段1,字段2,字段3 from table1
    union
    select 字段1,字段2,字段3 from table2
    union
    select 字段1,字段2,字段3 from table3
      

  2.   

    --新表不存在
    select * into 新表名 from 表1,表2,表3 where where ...
    --新表已存在
    insert into 新表名(...) select * from 表1,表2,表3 where ...
      

  3.   

     可是要集成的表很多,不可能要这么写的,想要个只能的方法,
    在存储过程中可以实现动态的 insert 表的数据