簡體   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