文档章节

将数据库中一张表中数据复制到另一张表

liunx_
 liunx_
发布于 2017/09/09 15:20
字数 515
阅读 10
收藏 0

--目标服务器表不存在时。在目标服务器运行:
select * into 目标服务器的表名 from openrowset
('msdasql','driver={sql server};server=源服务器ip;uid=源服务器数据库用户名;pwd=源服务器数据库密码','select * from 源服务器数据库名..源服务器数据库中表名')a

--目标服务器表存在时。前提条件,两表字段必须相同。在目标服务器运行:
insert into 目标服务器的表名 select *  from openrowset
('msdasql','driver={sql server};server=源服务器ip;uid=源服务器数据库用户名;pwd=源服务器数据库密码','select * from 源服务器数据库名..源服务器数据库中表名')a

 

SQLServer中把某个表里的记录复制到另一个数据库的表中 
 
现有数据库a和数据库b,数据库a里有表table1,数据库b里有表table2.

现在要把表table1里的记录复制到table2中,不同情况采用不同方法:

1. table1和table2表结构相同

use b

insert into table2 select * from a.dbo.table1

2. table1和table2表结构不相同

use b

insert into table2(c1,c2) select c1,c2 from a.dbo.table1

coolxiaoyi:c1,c2为需要复制的列。

3. 如果还没有创建表table2,可以直接将table1的表结构和记录都复制到数据库b中

use b

select * into table2 from a.dbo.table1

这样做有一个问题,就是有时主外键关系不能复制过去(不知道什么原因),需要在执行完sql语句后自己再设置一下主外键。

4. 注意table2中是否有自增长字段

如果有自增长字段,使用以上sql语句时会报错:仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'table2'中 的标识列指定显式值。

可以先修改table2表,去掉自增长标识,复制完记录后再修改回来。

或者用2.中的sql语句,不复制自增长字段,复制其他字段。

© 著作权归作者所有

共有 人打赏支持
liunx_
粉丝 0
博文 20
码字总数 29282
作品 0
成都
程序员
MySQL 命令行导出、导入Select 查询结果

MySQL 命令行导出、导入Select 查询结果 有的时候需要把在一张表中用 select 语句查询出来的结果保存到另一张结构相同的表中,可以有几种方法来实现: 方法一: 在命令行下使用一对SQL语句完...

xiaocao13140
06/15
0
0
有有关数据库数据导出问题

我在一个数据库中,有四张表,分别代表一个人的不同信息,每个表数据大约有几千万条;现在想把他导入到另一张表中,但是四张表要变成一张表(即将四张表的字段放到一个表中),怎么样才可以达到效率最...

乔康007
2012/10/29
90
5
数据库三大范式以及五大约束

数 据 库 第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性; 第二范式(2NF):满足1NF后,要求表中的所有列,都必须依赖于主键,而不能...

放飞E梦想O
02/01
7
0
数据库表关联关系的基础知识

表与表之间的关联关系一共有三种类型,一对一、多对一、和多对多,下面我们分别对这三种类型展开进行讨论。 一对一 表示两个表中的数据必须是一一对应的关系。这种场景其实并不是很常见,我们...

蜗牛崛起
2016/04/22
400
0
关于数据库两张表的数据实现实时同步

两张表的结构相同;其中一张表的数据是实时存的数据,有时间字段,而另一张表是(只能够先从)从这表获取数据经过条件筛选,进行保存数据。如何做到实时筛选匹配并保存到另一张表中。

shanewds
03/05
17
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部