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