Share via


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