2017-08-04 171 views
0

這是針對SQL Server的。我有表格Productproduct_id pk)和Customerscust_id pk)。還有一些其他表格具有上述外鍵。將特定數據從一個數據庫移動到另一個數據庫

我需要想出一套好的INSERT語句,可以將上述表中的行從一個數據庫移動到另一個數據庫。有沒有一個好的工具可以做到這一點?

扭曲也是因爲不同的數據庫對於產品和客戶有不同的ID - 所以插入應該首先根據產品名稱和客戶名稱(假設沒有重複)來查找ID。

+1

https://stackoverflow.com/questions/30009962/ssis-moving-data-from-one-database到另一個數據庫 你最好的選擇是使用SSIS來解決這個問題,並且這個問題已經在堆棧溢出中多次被回答。總的方向是在這個話題。你只需要創建自己的數據流。 – ttallierchio

+1

你在用什麼「其他數據庫」?我不認爲在數據庫之間爲相同的產品/客戶使用不同的「Keys」是個好主意。您可能需要考慮複製。 –

+0

ttallierchio,它似乎仍然沒有通用的解決方案。我在考慮 - 在產品表中爲工具提供一個產品名稱 - 然後它應該瀏覽整個數據庫,查找對此產品條目的所有外鍵引用(並繼續遞歸搜索),從而找出需要導出的所有行並構建一個可以導入到另一個數據庫的中間XML或腳本。 –

回答

0

如果數據庫在同一服務器內,您可以使用以下假設他們有相同的表結構

USE [TESTDB] 

SELECT * 
    INTO #values 
    FROM producttbl 

USE [OTHERDB] 

INSERT INTO tbl_product 
SELECT * 
    FROM #values 

的扭曲也是不同的數據庫有 產品和客戶不同的ID - 所以插入應首先查詢基於 的ID,然後輸入產品名稱和客戶名稱(假設 沒有重複項)。

對於這一點,你必須創建具有條件的SQL語句來查找那些特定的記錄

相關問題