Returns a logical value that indicates whether the current record is marked for deletion.
DELETED([cTableAlias | nWorkArea])
- cTableAlias| nWorkArea
- You can check the status of the current record in a table open in another work area by specifying the work area number with nWorkArea or the table alias with cTableAlias. If a table isn't open in the work area you specify, DELETED(В ) returns false. If you omit cTableAlias and nWorkArea, the deleted status is returned for the current record in the current work area.
If the record is marked for deletion, DELETED(В ) returns true (.T.); otherwise, DELETED(В ) returns false (.F.).
Records can be marked for deletion with DELETE and DELETE вЂ“ SQL, and they can be unmarked with RECALL.
Rushmore Query Optimization optimizes queries that test the deleted status of records if the table is indexed on DELETED(В ).
For information on using Rushmore to optimize queries, see SET OPTIMIZE and Using Rushmore Query Optimization to Speed Data Access.
The following example opens the
customer table in the
testdata database. DELETE вЂ“ SQL is used to mark all records for deletion where the
country field contains USA. DELETED(В ) is used to display all the records marked for deletion. RECALL ALL is used to unmark all the records marked for deletion.
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer && Opens Customer table DELETE FROM customer WHERE country = 'USA' && Mark for deletion CLEAR LIST FIELDS company, country FOR DELETED( ) && List marked records RECALL ALL && Unmark all records marked for deletion