sqlserver如何从A数据库复制表M到B数据库N表中

sqlserver如何从A数据库复制表M到B数据库N表中,第1张

sqlserver从A数据复制表M到B数据库N表中的方法如下:

1、首先要保证的是B库的TestTableB1 表结构和A库的TestTableA1 表结构相同

SET IDENTITY_INSERT DataBaseBdboTestTableB1 ON  

2、导入前开启IDENTITY_INSERT为ON

INSERT DataBaseBdboTestTableB1    --目标数据库表(需要导入的库表)

( TestId,

TestName

)

SELECT

TestId,

TestNameFROM DataBaseAdboTestTableA1 --源数据库表(需要导出的库表)

SET IDENTITY_INSERT DataBaseBdboTestTableB1 OFF。

3、导入后关闭IDENTITY_INSERT为OFF。

原理很简单:

1取得:从A数据库取得需要的数据

2转化:根据转化规则,将A的原始数据转化为B使用的数据

3写入:将数据写入B库

复杂的过程就是2转化。

转化的规则可能包括:

1不变。需求数据与原始数据一致时,则不需要转化。这种往往在总、分库或生产、备份库或事务、分析库之间使用。

2汇总。将A的数据分类汇总后提供给B库。往往使用在事务与报表。

3抽取。将A的数据提取一部分字段,提供给B库。在多个系统间做数据接口往往是这样的需求。

4综合。综合以上所有的情况。

主要就是要根据你的逻辑来写。有可能是A数据一行对B库一行。

也可能是一行对多行。

多行对一行。

多行对多行等。

B数据库存在表

use B

go

insert into tablename

select from Aschematablename

B数据库不存在表,用下面语句就省得建表了

use B

go

select into tablename

from Aschematablename

schema系统默认的是dbo,可以根据自己的需要做修改

如果是php 就用phpmyadmin 把表一 导出成sql文件,再到导入到b数据库里

如果是jsp, 可以用一款软件 mysql-front,可视化的mysql数据库 *** 作系统。通过这个你可以把表一导出,在导入到b数据库

firebird比支持跨数据库 *** 作的:

如果你只是要a库中的小部分数据的话可以用客户端工具导出脚本,然后在导入b库;

如果你的b库是空库的话,可以直接复制数据文件,然后改个名字就可以了;

firebird整天的性能还是可以的,就是可视化的客户端工具太少了,如果你有兴趣可以使用命令行工具gbak,nbakup工具都可以把数据备份出来。

建立一个临时表,有两列,一列用来记录在A里的主键值,另一列记录在B里的主键值,然后停止主外键关系,导入数据,根据临时表的记录,更新级联表里的外键值=新的主键值。

举个例子:

A:主键1,2,3,6

B:主键1,3,5

主键表数据合并后,B的主键是1,3,5,6(A的2),7(A的6)

临时表记录的是(2,6)和(6,7)两条记录

然后更新级联表级联字段,=2的更新为6,=6的更新为7

最后再加上主外键关系。

如果有多个有主键表,每个表都要做这么一遍,记得新导入一个主键表时,临时表要清空。

或者,如果能在B的表先去掉主键自增,然后把A的主键表数据原样导入B,此时B的主键表里和A的主键编号就是一样的了,再导入级联表,然后恢复主键自增就更好了。不过我不会ACCESS,不知道去掉主键自增能不能做得到。第一个办法的原理应该是可行的,放在任何一种库上都行。

以上就是关于sqlserver如何从A数据库复制表M到B数据库N表中全部的内容,包括:sqlserver如何从A数据库复制表M到B数据库N表中、SQL Server 2000 ,把A数据库的数据,转换到B数据库。、如何将A数据库内的表复制到B数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9510785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存