我已經創建了用於將記錄從一個表導入到另一個表的SSIS包。它正常運行,但在源表中記錄的數量在不斷增加。所以我正在執行包。在包中插入新行之前,我從Destination表中截斷記錄,然後執行包。用於使用SSIS將行追加到目標的SQL查詢
SQL TASK -1
Truncate table "OLE DB Destination"
SQL TASK -1
CREATE TABLE "OLE DB Destination" (
"ZZCOIL_APPR10" NVARCHAR2(20),
"ZZSTORAGE_LOC10" NVARCHAR2(15),
"ZZDETAIL1" NVARCHAR2(40),
"ZZTOTAL_QTY" NUMBER(7, 2),
"ZZNOTE1" NVARCHAR2(100),
"ZZNOTE2" NVARCHAR2(100)
)
但我不希望這種解決方案,我想插入只有剩餘記錄不在目標表中。
那麼你怎麼知道哪些數據是「新」?例如,源表是否具有像「CreateDate」和「UpdateDate」這樣的列?它是否有一個主鍵值爲每個新行增加?那些不是新的行,但數據已經更新的行呢?如何從現有數據中識別出某些變化?如果源代碼沒有這些東西,你可以添加它們嗎? SQL Server的源和目標都是? – Pondlife
表是有更多的列ID,我也有日期字段(記錄日期),所以我怎麼能通過使用其中之一跟蹤。 –