Sqlserver复制表

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

  有如下三个表:

  表A:字段1, 字段2, 字段3

  表B:字段1, 字段2, 字段3

  表C:字段1, 字段2, 字段3

  现在想复制A表的字段1,B表的字段2,C表的字段3到表4中去。不需要表中的数据。

  用SQL语句应如何实现呢?

答:其实,这里需要考虑一个问题,所到的指定表是不是空表?所以,我们有以下两种情况分别说说:      

1、/*table4不存在时*/

select a.col1, b.col2, c.col3
into table4
from tableA a, tableB b, tableC c
where 1 = 0

2、但是,一旦表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'

 

 

转自http://blog.163.com/zhaoyanping_1125/blog/static/20132915320120645416135/

转载于:https://www.cnblogs.com/mengweidefy/p/4822401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值