2010-05-27 41 views
0

SSIS無知需要幫助!檢查在使用ssis清除表之前,查找是否產生用於插入的任何有效行

這種情況: 一個臨時表是從一個已知會隨機更改格式的excel文件中填充的,該文件由不同的組擁有。需要在臨時表tableA上執行查找,以便用有效數據填充tableB。如果查找結果返回0行,則應該發送一封電子郵件並且tableB中的現有數據應保持不變。如果查找導致大量有效行> 0,tableB應刪除所有行並插入tableA上查找的新記錄。

問題: 根據我的結果,檢查是否存在任何有效行並執行相應操作的最佳方法是什麼?

謝謝!

回答

0

將匹配的輸出從查找連接到行計數轉換,這會將找到的行的計數存儲在包變量中。在控制流中,將數據流任務(帶查找)連接到Execute SQL以執行刪除。通過右鍵單擊約束並選擇「編輯」,爲數據流和執行SQL之間的約束添加表達式。添加一個條件,如「@myRowCountVariable> 0」 - 這將阻止執行Sql任務運行,除非行數大於0.將Execute Sql連接到另一個數據流以執行插入。

您可以使用「@ myRowCountVariable == 0」等表達式來添加發送郵件任務,並將其連接到原始數據流,以控制是否發送電子郵件。

相關問題