(Delete, Recall)
Retorna un valor
lógico cuando el registro está marcado para ser borrado.
Sintaxis
DELETED ([cTableAlias | nWorkArea])
Si
el registro está marcado para su eliminación, DELETED () devuelve true (.T.);
de lo contrario, DELETED () devuelve false (.F.).
Los
registros se pueden marcar para eliminar con DELETE y DELETE - SQL, y se pueden
desmarcar con RECALL.
El
siguiente ejemplo abre la tabla de clientes en la base de datos testdata.
BORRAR: SQL se usa para marcar todos los registros para eliminación donde el
campo de país contiene EE. UU. DELETED () se utiliza para mostrar todos los
registros marcados para su eliminación.
Si
se necesitara borrar o restaurar muchos registros una vez según su contenido,
estos métodos no son prácticos. Se podrían borrar registros en un grupo para
llevar a cabo operaciones de verificación como quitar registros obsoletos o
eliminar registros de una base de datos
que se haya copiado a un archivo separado.
Desde los menús
Se
pueden marcar registros para borrado o se puede eliminar la marca de borrado
utilizando la consulta de actualización. Los criterios de selección de
registros se especifica de la misma forma que en otras consultas, es decir,
introduciendo condiciones en el esqueleto del archivo o en la caja de
condiciones.
Desde
este modo, se pueden borrar y restaurar registros en grupos según sus contenidos
con las mismas órdenes DELETE y RECALL que se utilizaban para borrar registros
individualmente. Se pueden identificar los registros que se requieren borrar y
restaurar utilizando un filtro para especificar criterios de selección o
añadiendo un ámbito o una clausula FOR,
o si la base de datos está ordenada o indexada una clausula WHILE en las
órdenes.
Por
ejemplo, se podrían marcar para su borrado todos los clientes que no hayan realizado ningún pedido
en dos(2) años con la siguiente orden:
Use
cliente
Delete
for date() – ultpedido > 750
Recall Desmarca
los registros marcados para su eliminación en la tabla seleccionada.
Sintaxis
RECALL [Scope] [FOR
lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
[IN nWorkArea | cTableAlias]
Especifica
un rango de registros para recuperar. El ámbito predeterminado para RECUPERAR
es el registro actual (SIGUIENTE 1). Solo se recuperan los registros que caen
dentro del rango especificado. Las cláusulas de alcance son: ALL, NEXT
nRecords, RECORD nRecordNumber y REST.
Para
obtener más información sobre las cláusulas de alcance, consulte Cláusulas de
alcance.
PARA
lexpresion1
Especifica
que solo se recuperan los registros para los cuales lExpression1 se evalúa como
verdadero (.T.). Esta opción le permite filtrar registros no deseados. Rushmore
Query Optimization optimiza RECALL FOR si lExpression1 es una expresión
optimizable.
Para
obtener el mejor rendimiento, use una expresión optimizable en la cláusula FOR.
Para obtener más
Información,
consulte CONFIGURAR OPTIMIZAR y Usar la optimización de consultas de Rushmore para
acelerar el acceso a los datos.
Mientras
lexpresion2
Especifica
una condición por la cual los registros se recuperan mientras lExpression2 se evalúe
como verdadero (.T.).
NOOPTIMIZAR
Impide
que Rushmore optimice la RECUPERACIÓN Para obtener más información, consulte CONFIGURAR
OPTIMIZAR y Usar la optimización de consultas de Rushmore para acelerar el
acceso a los datos.
En
nWorkArea | cTableAlias
Especifica
el área de trabajo o el alias de la tabla afectados por el comando RECALL.
Utilice
esta cláusula para especificar un área de trabajo o una tabla fuera del área de
trabajo actual.
Puede
usar REALL para recuperar registros, siempre y cuando que no haya emitido PACK
o ZAP.
El
siguiente ejemplo abre la tabla de clientes en la base de datos testdata.
BORRAR: SQL se usa para marcar todos los registros para eliminación donde el
campo de país contiene EE. UU.
Se
muestran todos los registros marcados para su eliminación. RECALL ALL se
utiliza para marcar todos los registros marcados para su eliminación.
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
0 comentarios:
Publicar un comentario