Returns a logical value that indicates whether the current record is marked for deletion.
DELETED([cTableAlias | nWorkArea]) |
Parameters
- 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.
Return Value
Logical
Remarks
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.
Example
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.
В | Copy Code |
---|---|
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 |