2012-08-01 44 views
0

我正在使用OLE DB命令來更新表中的記錄。我想單獨更新從不更新(不同於錯誤)的行成功更新的行。有些行不會更新,因爲我正在更新的密鑰不存在。這與錯誤不同,因爲該命令已運行,因此我無法使用紅色錯誤行。我唯一的想法就是當我在SQL Server中執行更新並且它說「(0 row(s)affected)」,我可以做一個比較。不更新的SSIS列表行

由於這不算作SSIS中的錯誤,因此我無法使用紅色錯誤行。有誰知道如何捕捉不更新的記錄?

回答

0

抓它在一個表

Select * 
INTO Some_table 
FROM Table_you_are_updating_From as a 
WHEre NOT EXISTS(Select * 
FROM Table_you_are_updating as b WHERE a.key=b.key) 
+0

感謝Ruzbeh,將工作,因爲我問的問題,但我不認爲它會爲我遇到的問題工作。我的情況是我需要將數據從源傳輸到目標。更新到目的地後,我需要返回並標記已成功完成的源記錄。所以從理論上講,我需要一個條件分割或其他一些方法來分離不成功的成功。另一種方法是成功採取行動。你知道這可以實現嗎?謝謝您的幫助! – user1167865 2012-08-01 21:27:48

+0

http://stackoverflow.com/questions/4340621/ssis-update-source-records-after-transfer 可能你可以使用這個答案在源和目標服務器上完成標記。 – 2012-08-01 21:31:28

+0

謝謝,我會試一試。 – user1167865 2012-08-01 21:38:14