1
我有一個STG表,我們每天從兩個SRC表中截斷並將值加載到STG表中。我在STG表中創建了一個更改標誌(Ch_Flg),因此,不是每天都截斷表,只有當SRC中的某些字段發生更改時,纔會將值插入到STG中。但是,由於SRC表直接加載到STG,所以我需要一個臨時表,在這裏我可以存儲所有SRC記錄,並用STG檢查記錄是否已更改,並且僅當這些記錄已更改時才插入STG。如果來自src的值已經改變,將記錄插入表中
例如,SRC1表有像(ID,名稱,標籤,行業,部門,城市,電話,僱傭日期等)和SRC2已經像(ID,姓名,能力,城市,電話等)列
列我應該將SRC中的所有值加載到臨時表中,然後將它們與STG表進行比較?還是有更有效的方法來做到這一點?
感謝您的結構。單打是什麼? –
這就是所謂的「公用表表達式」或CTE,它是一種收集特定數據集並對其執行其他操作的方法。因此,在這種情況下,如果您在With中使用select語句並將其與您的表一起運行,您將從一個表中取回所有內容,而不是另一個表中的所有內容。然後,我們採取該組數據並將不存在的記錄插入到目標表中。在你的情況下,我想你只對帶有填充更改標誌的記錄感興趣。所以你可以做你的記錄改變,然後插入下面。 – DrHouseofSQL
編輯:我在腳本底部的所有'其他字段'都需要放在WITH語句的原始選擇中。對不起,關於那 – DrHouseofSQL