繁体   English   中英

将有关密钥的数据从一个数据库传输到另一个数据库

[英]transfer data from one database to another regarding keys

如何将两张表(Patient和ContactDetails)中的行从DB1传输到DB2? 两个DB都已经有这两个表和数据。 我只想从db1到db2这两个表中添加数据。

我想下面

但是它没有用,因为有些行具有相同的键,并且禁止覆盖。

还有其他方法吗? 还是我错过了什么?

病人与接触细节的关系是

patient inner join contactdetails
(foreign_key)patient.contactdetailsid = (primary_key)contactdetails.id

在源contactdetails表上循环,将每一行插入一次,以节省时间在临时表中,将旧的contactdetail ID和匹配的新的contactdetail ID( 这里是sql循环的示例)。
临时表应类似于:

create @temptableforcopy table (
 oldcontactdetailsid [insertheretherightdatatype],
 newcontactdetailsid [insertheretherightdatatype]
)

将病人表中的数据复制到用于上一步的临时表中,如下所示:

insert into newdb.newschema.patient (contactdetailsid, field1, field2, ...)
select TT.newcontactdetailsid,
       old.field1,
       old.field2,
       ...
from   olddb.oldschema.patient old
       join @temptableforcopy TT on TT.oldcontactdetailsid = old.contactdetailsid

请注意,我的建议只是一个疯狂的猜测:您没有提供有关结构,键,约束的信息,也没有提供有关哪个键阻止复制哪个错误消息的信息,已经丢弃的解决方案以及必须处理的数据量的详细信息与...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM