2017-08-14 90 views
-1

對於SSIS包非常新穎。需要針對以下數據流場景的解決方案。用於插入和更新的SSIS包

在源數據庫和目標數據庫上都有兩個相同的表。

源表

ID  | Employee 
------ | ------ 
1  | Paul   
2  | Jane 
3  | John 

方案1

目標表之前插入

ID  | Employee 
------ | ------ 
1  | Paul   
3  | John 

目標表插入後

ID  | Employee 
------ | ------ 
1  | Paul   
2  | Jane 
3  | John 

方案2

更新目標表之前

ID  | Employee 
------ | ------ 
1  | Paul   
2  | Kate 
3  | John 

目標表中插入

ID  | Employee 
------ | ------ 
1  | Paul   
2  | Jane 
3  | John 
+0

此問題沒有顯示任何研究工作。 –

回答

0

的問你要求後是UPSERT場景。您可以按照此link進行此類實施。

  1. 按順序插入 - 這是不可能的。執行數據加載時無法重新排序數據。如果您仍然認爲有必要,那麼您需要選擇的選項是截斷數據並再次執行加載。
  2. 數據要在比賽
0

更新我可能會建議如果可能的話,你使用鏈接的服務器。無論如何,SSIS並沒有真正提供一種方法來完成內置合併(又名upserts)。如果您使用鏈接服務器,則可以在查詢中執行合併權限。如果使用SSIS,最簡單的方法是將數據從源上傳到目標上的新表,然後在查詢(執行SQL任務)中運行merge命令。