1
我有兩個由供應商每晚生成的數據集。這兩個表都不包含主鍵,但行是唯一的。鑑於沒有主鍵,是否有使用SSIS來確定添加,更新或刪除了哪些行的方法?我發現的所有信息似乎都指向需要主鍵。只需對行進行編號就行不通,因爲表格每晚都進行重建。被比較ssis確定沒有主鍵的更新行
該表可能是這個樣子:
TABLE 1 TABLE2
Name Facility Access Name Facility Access
---- -------- ------ ---- -------- ------
Bob NJ Full SA Bob NJ Full SA
Bob NJ Full AB Bob NJ Full DS
Bob GA Full SA Bob GA Full SA
Bob GA Full AB Bob FL Full SA
Bob CA Full AA Janet CA Full AA
有沒有人遇到過類似的情況嗎?我似乎無法找到一種方法來確定是否在沒有主鍵的情況下插入或更新(或刪除或更新)了一行。有什麼想法嗎?
謝謝您的考慮。
在那裏是的。由於沒有業務關鍵字,因此您將無法確定此新行是對現有行還是對新行進行更新。你可以在所有鍵上計算一個hashsum,並至少確定我是否已經有了這些hashsum,然後刪除不再存在的內容並添加什麼是「新」,但我沒有一個優美的模式。除非你把很多咖啡因和粗俗稱爲模式。 – billinkc
@billinkc您可以每晚創建視圖,然後加入視圖以查看是否有更新? –
由於行是唯一的,所以在概念上,該行是主鍵,因此無論物理數據庫事件如何,都將只進行插入和刪除操作,通過使用合併連接(完全連接)比較整個行可以找到這些操作。 – Jayvee