DELETED( ) (Función)
Devuelve un valor lógico que indica si el registro actual está marcado para su eliminación.
DELETED([cTableAlias | nWorkArea])
Valores devueltos
Logical
Parámetros
cTableAlias | nWorkArea
Puede comprobar el estado del registro actual de una tabla abierta en otra área de trabajo si especifica el número de área de trabajo con nWorkArea o el alias de la tabla con cTableAlias. Si una tabla no está abierta en el área de trabajo que especifique, DELETED( ) devolverá falso.Si omite cTableAlias y nWorkArea, el estado de eliminado que se devuelve es el del registro actual del área de trabajo actual.
Observaciones
Si el registro está marcado para eliminación, DELETED( ) devolverá el valor verdadero (.T.); de lo contrario, DELETED( ) devolverá el valor falso (.F.).
Los registros pueden marcarse para su eliminación con DELETE y DELETE - SQL, y puede quitarse la marca con RECALL.
Las consultas que comprueban el estado de eliminado de los registros pueden optimizarse mediante Rushmore si la tabla está indizada sobre DELETED( ).
Si desea obtener más información acerca del uso de Rushmore para optimizar consultas, vea SET OPTIMIZE y Usar Rushmore para agilizar el acceso a los datos.
Ejemplo
El ejemplo siguiente abre la tabla customer
de la base de datos testdata
. DELETE – SQL se utiliza para marcar todos los registros donde el campo country
contenga USA para su eliminación. Se utiliza DELETED( ) para mostrar todos los registros marcados para eliminar. Se utiliza RECALL ALL para quitar las marcas de todos los registros marcados para eliminar.
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
Vea también
DELETE | DELETE – SQL | PACK | RECALL | SET DELETED