现在的位置: 首页 > 综合 > 正文

MS Sql server 表复制

2013年08月22日 ⁄ 综合 ⁄ 共 673字 ⁄ 字号 评论关闭

一、请问专家,如何复制其它表的结构到一指定的表中去,比如以下的例子:

  有如下三个表:

  表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'

二、1.相同两个表内容复制

            insert into 目标数据库名.dbo.表名 select * from 源数据库名.dbo.表名

    2.说明:复制表(只复制结构,源表名:a 新表名:b)

SQL: select * into b from a where 1<>1

    3.说明:拷贝表(拷贝数据,源表名:a 目标表名:b)

SQL: insert into b(a, b, c) select d,e,f from b;

抱歉!评论已关闭.