The logic I am following for an incremental load is as follows :
1 - Select all the records that's created today from database (There should be a similar field to transaction_date to restrict).
2 - Load all transaction except today's from the QVD file
3 - Store the merged data from (1) and (2) to the QVD (This is will update the QVD with todays records).
Using this logic is helpful esp. if the records are to be refreshed many times, it will only keep the recent records loaded.
I have a question for you Anta, what if the last week's recrods get's updated? If it was a financial or business system then I assume only current year's data will be updated or changed. So I am updating all QVD on yearly basis. E.g I dont update 2011 QVD as all the accounting periods are closed and its not likely that any of the records will be changed.