SQL Server中将数据复制到另一张表

一、代码复制(推荐)

SQL Server中,如果目标表存在:

insert into 目标表 select from 原表;

SQL Server中,,如果目标表不存在:

select into 目标表 from 原表;

补充:

Oracle中,如果目标表不存在:

create table 目标表 as select from 原表;

---------------------------------------------

An explicit value for the identity column in table 'User_Role' can only be specified when a column list is used and IDENTITY_INSERT is ON.

 使用    insert into 目标表 select  from 原表;  的时候,有时会遇到这个异常,因为自增长列不需要插入数据,将 * 改成不是自增长的列就可以了。如:  insert into 目标表 select  id,name from 原表; 

--------------------------------------------

SQL Server中,,如果目标表不存在:select into 目标表 from 原表; 去复制表的话,发现自增长的属性没有复制过去,所以呢,如果有自增长的列建议先把表结构手动复制过去,在避开自增长列(否则会出现上面的异常)将数据添加进去,如:

insert into qc_permission(name,fatherid,url) select name,fatherid,url from [QCDB1].[QCDB].[dbo].qc_permission

注:我避开了id这个自增长列。 

------------------------------------------------------------------

二、手动复制

1、找到想要复制的表右键如下

 

打开窗口后,Ctrl + A 全选内容。

接着到目标数据库,“ 新建查询 ” 后粘贴,将第一行的数据库名称换成目标数据库名称,如下

然后执行,到目前表结构已经弄过来了。

三、表数据迁移

前面做的将表结构复制过去了,但表的内容怎么弄呢?

在目标数据库右击,找到导入数据,点击进入”SQL Server导入导出向导“,根据提示步骤操作。

选择源数据库数据。

接着选择目标(目标数据库)、指定表复制或查询。按提示下一步操作即可。

我的操作过程一直出现错误,暂未解决。

网上查到的解决办法如下

但似乎我不太适用,可能是公司的数据库加了操作限制,不过其实用代码也挺方便的。

 

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值