begin; \remark 'Number of regions before the load' select count(*) from region; -- Step 3a: delete region which no longer exist in region_stage delete from region where R_REGIONKEY not in (select R_REGIONKEY from region_stage); -- Step 3b: delete all existing records and replace them with new records delete from region using region_stage where region_stage.R_REGIONKEY = region.R_REGIONKEY; -- Step 3c: insert delta (new & updated region) from stage to target table insert into region select * from region_stage; \remark 'Number of regions after the load' select count(*) from region; commit;