我有一個Case_id作為主鍵的 SQL 表。我正在使用 Visual Studio SSIS 將平面檔案匯入表中,并使用
如果我在源檔案中有一條記錄,其中 Case_id 與Case_id目標表中已經存在的一條記錄匹配,則 upsert 可以正常作業。但是,如果源檔案包含具有相同主鍵和不同更新日期的多條記錄,則包會因主鍵沖突而失敗。我沒有看到任何允許我僅選擇具有最近更新日期的記錄的功能。
關于如何處理主鍵違規的任何想法?我想我可能需要放棄 Upsert 組件并使用某種具有 MAX 更新日期的 MERGE 陳述句。我正在使用 SQL Server 2019、Visual Studio 2019 和 SentryOne 任務工廠。
uj5u.com熱心網友回復:
您可能需要執行一個簡單的全負載模式,或者只采用增量負載。
https://www.c-sharpcorner.com/article/handling-data-load-types-in-staging-database/ https://www.c-sharpcorner.com/article/design-the-full-load-和-delta-load-patterns-in-ssis/
在將平面檔案加載到臨時表之前,您可以使用 SSIS 排序轉換組件:
排序轉換按升序或降序對輸入資料進行排序,并將排序后的資料復制到轉換輸出。您可以對輸入應用多種排序;每個排序由一個確定排序順序的數字標識。編號最小的列首先排序,編號次低的排序列其次排序,依此類推
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/430083.html
標籤:sql服务器 西斯 等 上插 sql-server-2019
上一篇:如何使用SQL或CrystalReports輕松地將公制值轉換為英制
下一篇:SQLServer中的非嵌套陣列
