• Thanks for the response.

    Sean:

    In the current scenario - there is one set of records being populated in multiple related tables. There is only one set of records for a workflow (after Create- Review- Approve flow) and when this undergoes the Modification process, then the records in the current Approved workflow are updated. There is no history/version. The current one is overwritten by the modified record. We need to version this.

    I plan to -

    1. create a copy of the records (in all related tables) of the Approved workflow and create a new version. I would definitely write a spoc for this.

    2. The user would then work on this copy. We could mark the new version as 'Wok in progress'.

    3. In the main table I would add two more columns - Valid From and Valid To (datetime).

    4. Once the record 'Work in Progress' record get 'Approved', then I would close the previous 'Approved' record by filling in the 'Valid To' column with getdate() and I would leave the 'Valid To' column for the new record as NULL. This would imply that the record having Valid To = NULL would be the latest Approved.

    Problem is that when I create a copy of the data...then that would consume a lot of time. The end user using the screen would have to wait for quite sometime. I am looking for a method wherein I can cut that time short by writing efficient queries/or if there is any other faster way to copy the data into tables.

    Please let me know if you need further explanation of the problem.