問:請問專家,如何復制其它表的結構到一指定的表中去,比如以下的例子:
有如下三個表:
表A:字段1, 字段2, 字段3
表B:字段1, 字段2, 字段3
表C:字段1, 字段2, 字段3
現在想復制A表的字段1,B表的字段2,C表的字段3到表4中去。不需要表中的數據。
用SQL語句應如何實現呢?
答:其實,這裡需要考慮一個問題,所到的指定表是不是空表?所以,我們有以下兩種情況分別說說:
/*table4不存在時*/
select a.col1, b.col2, c.col3
into table4
from tableA a, tableB b, tableC c
where 1 = 0
但是,一旦表4已經存在的話,會報錯。如果是想在表4中增加這幾個字段,但這些字段的數據不需要添加到表4中來
select
*
into 表5
from
表4 m
left join
(select a.字段1,b.字段2,c.字段3 from 表A a,表B b,表C c where 1<>1) n
on
1=1
drop table 表4
exec sp_rename '表5','表4'