RECALL (Comando)
Quita la marca de los registros marcados para eliminación en la tabla seleccionada.
RECALL [Scope] [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
[IN nWorkArea | cTableAlias]
Parámetros
Scope
Especifica un intervalo de registros para recuperar. Solamente se recuperan los registros incluidos en el intervalo especificado. Las cláusulas de alcance son: ALL, NEXT nRecords, RECORD nRecordNumber y REST. Para obtener más información acerca de las cláusulas de alcance, vea los temas en pantalla Cláusulas de alcance e Introducción al lenguaje.El alcance predeterminado de RECALL es el registro actual (NEXT 1).
FOR lExpression1
Especifica que sólo se recuperarán los registros para los que el valor de lExpression1 sea verdadero (.T.). Esta opción permite filtrar los registros no deseados.Si lExpression1 es una expresión optimizable, Rushmore optimizará RECALL FOR. Para obtener el máximo rendimiento, utilice una expresión optimizable en la cláusula FOR.
Para obtener más información, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a datos.
WHILE lExpression2
Especifica una condición por la cual se recuperan los registros siempre y cuando la expresión lExpression2 dé como resultado verdadero (.T.).NOOPTIMIZE
Impide la optimización Rushmore de RECALL.Para obtener más información, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a datos.
IN nWorkArea | cTableAlias
Especifica el área de trabajo o el alias de tabla afectado por el comando RECALL. Utilice esta cláusula para especificar un área de trabajo o una tabla fuera del área de trabajo actual.
Observaciones
RECALL puede utilizarse para recuperar registros, siempre y cuando no se haya ejecutado PACK o ZAP.
Precaución Una vez empaquetado el archivo, todos los registros marcados para eliminación se pierden para siempre.
Puede marcar registros para eliminarlos con los comandos DELETE o DELETE – SQL, o si elige Eliminar registros en el menú Tabla cuando haya una ventana Examinar o de edición activa. Puede recuperar registros si ejecuta RECALL o elige Desmarcar registros en el menú Registro cuando hay una ventana Examinar o Editar activa.
Si omite la cláusula IN, el comando RECALL actuará en el área de trabajo actual.
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 muestran todos los registros marcados para ser eliminados. Se usa 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 | SET DELETED | ZAP