>Alan,
>
>The concept of marking a record for deletion is a part of xBase all the way back to dBase II. Other database managers have not implemented the idea and so it is not surprising that you find it strange.
>
>How do I deal with the PK issue, well I ONLY use surrogate PKs, that is fields that have absolutely no meaning other than being the PK for the table. That way I NEVER reuse a PK value so I don't care if the deleted records are there or not.
Other database managers mey not have implemented marking records for deletion but some users have. I belong to a SQL tips mailing list. A few days ago they published an idea for logically deleteing a record to eliminate the overhead involved in physically deleting records.
The tip suggested adding a column to mark deleted records and changing views and queries to ignore records with a D in that column (SET DELETED ON). Then during the night, running a routine to do the physical deletion (PACK).
Of course there was no mention that xBase has provided logical deletion from the beginning.