Compartir a través de


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