|
|
51CTO旗下网站
|
|
移动端

如何将一个数据库中的一个表复制到另一个数据库的表中去

第一种情况:将a数据库.dbo.a表的数据追加到b数据库.dbo.b表中 (条件:此时b数据库中已创建好了b表);第二种情况:将a数据库.dbo.a表的数据复制到b数据库.dbo.b表中 (条件:此时b数据库中没有创建b表或同名的表)。

作者:小白啊不菜来源:今日头条|2018-02-25 17:30

如何将一个数据库中的一个表复制到另一个数据库的表中去

第一种情况:将a数据库.dbo.a表的数据追加到b数据库.dbo.b表中 (条件:此时b数据库中已创建好了b表)

inert into b数据库.dbo.b表

select * from a数据库.dbo.a表 [where 条件]

此T-SQL语句会有异常 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'b数据库.dbo.b表'中的标识列指定显式值。

原因:b数据库.dbo.b表中某列别设置成自动增长(一般为主键ID)。

解决:把 * 变成 指定 [列名] ,把自动增长的那一列去掉。

第二种情况:将a数据库.dbo.a表的数据复制到b数据库.dbo.b表中 (条件:此时b数据库中没有创建b表或同名的表)

select * into b数据库.dbo.b表 from a数据库.dbo.a表 [where 条件]

执行完此语句后,b数据库中将会创建和a数据库.dbo.a表 一样结构的b表。通过此语句创建的b表没有主键。

1、同服务器 select * from 数据库名.dbo.表名 where 条件

2、不同服务器

SELECT * FROM OpenRowset('MSDASQL', 'Driver=SQL Server;Server=服务器名(或IP);UID=sa;PWD=服务器数据库密码', 数据库名.dbo.表 ) where 条件

SELECT *

FROM OPENROWSET('SQLOLEDB','服务器名(或IP)';'sa';'服务器数据库密码',

'查询的sql语句')

SELECT *

FROM OPENDATASOURCE(

'SQLOLEDB',

'Data Source=服务器名(或IP);User ID=sa;Password=服务器数据库密码'

).数据库名.dbo.表 where 条件

【编辑推荐】

  1. 区块链VS数据库——解决方案选哪个?
  2. 干货 | Oracle数据库有把TX锁,如何定位锁在哪?
  3. 记一次MySQL删库的数据恢复
  4. B站数据库“脱裤”?如何让你的数据不“裸露”?
  5. Java数据库读写分离-数据库中间件DBProxy
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

精通JavaScript动态网页编程(实例版)

本书通过大量实例代码,以ECMA-262版本3为基础,结合JavaScript 1.5和JavaScript 5.5,由浅入深、循序渐进地介绍了JavaScript知识要点与编...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊