[SQL SERVER][SSIS]如何比較兩個資料表資料差異

[SQL SERVER][SSIS]如何比較兩個資料表資料差異

之前利用Checksum元件判斷比較兩個資料表資料內容,

並將來源資料表相關異動資料更新至目的資料表(這篇),

由於之前方法需要新增資料欄位紀錄該元件所產生的Checksum資料(有點小麻煩),

這次我將利用lookup元件判斷比較兩個資料表的資料差異(網友問題)。

 

設計資料流程

image

 

編輯OLEDB來源

image

 

編輯查閱

image

將沒有符合項目的資料列導向錯誤輸出。

 

image

連接要比較的資料庫和資料表。

 

image

利用PK欄位比較。

 

編輯

image

將沒有符合項目的資料列新增至目的資料表。

 

測試:

來源和目的資料內容

image

 

新增來源資料

image

來源資料表多兩筆資料。

 

執行SSIS

image

目的資料表也新增兩筆資料。

 

確認兩邊資料

image

搞定收工。

 

PS:由於只比較PK一個欄位,如果依照PK更新來源資料表某一列資料,這時將無法查出該異動資料,

這時可以在拉一個lookup元件,查詢比較其他欄位內容,如下面資料流程。

image