>Thanks Ed
>
>I have been using surrogate keys for a while now and as you say my earlier problems have stopped happening, however my point was why did they bother to do it this way in the first place.
The concept of deletion not physically removing a record from the table until a PACK occurs is a carryover from the original xBASE language and table construct; removing it would alter backwards compatibility, and would render the RECALL statement useless.