[英]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.