2015-02-06 20 views
0

在db2中,可以使用'import'導入來自文件的數據,以提供insert_update模式,以便在記錄不存在時進行插入,如果存在則進行更新。在SQL Server中使用insert_update模式導入文件的方法

有沒有辦法將數據從文件導入/加載到表中,這樣如果文件中的記錄不存在,則會插入文件中的記錄,如果存在,則會更新它們。

我能想出的唯一方法是通過中間/臨時表合併使用批量加載,然後使用該表插入更新到目標表中。

使用這種方法可能會出現性能問題,因爲所有數據都首先加載到臨時表中。請告知是否有辦法在不創建臨時表的情況下執行此操作。

回答

0

您可以使用SSIS。 在您的數據流中,您將執行查找以查看記錄是否已存在,如果是這樣,請將其發送到更新代碼路徑(這可能涉及使用分段更新,然後連接兩者)。如果它不存在,請執行插入操作。

沿着https://social.msdn.microsoft.com/forums/sqlserver/en-US/9e14507d-2a30-403b-98f5-a6d2468b384e/update-else-insert-ssis-record

+0

感謝您的回覆。如果我正在使用某種工具手動執行,使用SSIS可能會很有用。現在我已經在java代碼中基於邏輯將文件導入爲db2 import from ...插入到表中或將db2 import ... insert_update導入到表中。隨着RDBM更改爲MS SQL服務器,我試圖查看在MS SQL服務器中是否有任何事務處理SQL將文件導入到表中,正如我在我的文章中所要求的那樣。 – ksl 2015-02-06 15:53:13

相關問題