2017-08-10 43 views
0

以下是更好地解釋我的方案的示例。我的數據庫表具有以下列 列-1:Operating_ID(它是主鍵) 列-2:名稱 列-3:電話 列-4:地址 列-5:開始日期 列-6:結束日期SSIS-更新主鍵已存在的行的幾列

的列中的值1,2,3,4來自提取物和該提取物被推動到數據庫每日使用SSIS數據流任務

爲列5和6中的值是用戶輸入的從網絡申請並保存到數據庫。

現在在SSIS過程中,如果主鍵即列1已經存在,而不是拋出主鍵錯誤,我需要更新第2,3,4列。 首先我考慮了替換,但刪除了用戶輸入的數據列4,5。 我想保留第4,5列中的數據,並在列1已經存在時更新第2,3,4列。

回答

1

做一個查找Operating_ID。更改查找從「故障上沒有的」到「重定向行不匹配」

如果沒有找到匹配,去INSERT

如果找到匹配,去UPDATE。你可以運行OLAP命令來更新,但是如果它是一大組數據,你最好把它放到一個表中,然後做一個UPDATE with a JOIN

0

這就是我要做的。我會把所有的數據放在臨時表中。然後,我將使用數據流來插入新記錄,並且該數據流的源將是具有引用prod表的not exists子句的登臺表。

然後,我會在控制流中使用執行SQL任務來更新現有行的數據。