I am trying to understand what the update does in this load script. In the above zip file I have created a staging table, loaded the sales credit data into it using an SSIS from the Adventure works database (a sample microsoft sql database). The way I understand is that the load script inserts new records that are NOT in the transform table but ARE in the staging table (ie:hence a right join where t.creditcard is null). However I don't really understand what the update function above is doing. Is it closing off the record by setting dateto=today's date??? but why is there a left join hence. I also can't see anywhere in the final table where the 'update' is working.