探讨一个多表插入的算法
假设有A、B、C三张表,表的数据结构相同。   
 再新建一个数据结构相同的表D,   
 然后把   A,B,C三张表的数据都插入到D中,   顺序是   A1,B1,C1;A2,B2,C2……   
 请问怎么最优化。
------解决方案--------------------說下想法:   
 將三個表的數據放入到三個臨時表中,並且都加上一個自增列。   
 然後將三個臨時表中的數據插入到D表中,按照自增列排序,這樣應該可以達到效果。   
 如果三個表的數據較多,生成臨時表可能會花些時間。
------解决方案--------------------将鱼的改改才行吧 
 Select ID = Identity(Int, 1, 3) , * Into #A From A 
 Select ID = Identity(Int, 2, 3) , * Into #B From B 
 Select ID = Identity(Int, 3, 3) , * Into #C From C   
 insert D select 不含id的列的列表  
 From 
 (Select * From #A  
 Union All  
 Select * From #B 
 Union All  
 Select * From #C) T 
 Order By ID 
------解决方案----------------------union all里加编号排序 
 create table A(col1 int,col2 int,col3 int) 
 create table B(col1 int,col2 int,col3 int) 
 create table C(col1 int,col2 int,col3 int)   
 insert A select 1,2,3 
 union all select 4,5,6   
 insert B select 7,8,9 
 union all select 10,11,12   
 insert C select 13,14,15 
 union all select 16,17,18   
 select * into D from 
 ( 
 	select col1,col2,col3,bh=1 from A 
 	union all 
 	select col1,col2,col3,bh=2 from B 
 	union all 
 	select col1,col2,col3,bh=3 from C 
 )t 
 order by bh   
 select col1,col2,col3 from D   
 drop table A,B,C   
 col1        col2        col3         
 ----------- ----------- -----------  
 1           2           3 
 4           5           6 
 7           8           9 
 10          11          12 
 13          14          15 
 16          17          18