Compartir a través de


REPLACE FROM ARRAY (Comando)

Actualiza los datos de campos que tengan valores procedentes de una matriz de variables.

REPLACE FROM ARRAY ArrayName [FIELDS FieldList] [Scope]
   [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]

Parámetros

  • ArrayName
    Especifica el nombre de la matriz cuyos valores sustituyen los datos del campo.

  • FIELDS FieldList
    Especifica que solamente los campos incluidos en FieldList se sustituyan por el contenido de la matriz. Los campos de áreas de trabajo no seleccionadas deben ir precedidos de sus alias de tabla.

  • Scope
    Especifica un intervalo de registros que se deben sustituir por el contenido de la matriz. Solamente se sustituyen los registros incluidos dentro del rango. Se realiza la sustitución hasta llegar al final del alcance o de la matriz.

    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 para REPLACE FROM ARRAY es el registro actual (NEXT 1).

  • FOR lExpression1
    Especifica que los campos se deben sustituir únicamente en los registros donde lExpression1 se evalúe como verdadero (.T.). La inclusión de FOR le permite sustituir registros de forma condicional, descartando los registros no deseados. La sustitución se produce en los registros para los cuales lExpression1 es verdadero (.T.), o hasta llegar al final de la matriz.

    Rushmore optimiza REPLACE FROM ARRAY FOR si lExpression1 es una expresión optimizable. 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 los datos.

  • WHILE lExpression2
    Especifica una condición por la cual los campos de los registros se sustituyen por el contenido de la matriz siempre que la expresión lógica lExpression2 se evalúe como verdadero (.T.).

  • NOOPTIMIZE
    Impide la optimización Rushmore.

    Para obtener más información vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a los datos.

Observaciones

Los campos de tipo Memo y General se pasan por alto en REPLACE FROM ARRAY. Para importar datos en estos campos, use GATHER y APPEND GENERAL.

Los elementos de la matriz sustituyen a los campos correspondientes del registro, comenzando por el primer elemento. El primer elemento de la matriz sustituye al primer campo del registro, el segundo elemento de la matriz sustituye al segundo campo, y así sucesivamente.

Si la matriz tiene menos elementos que el número de campos de la tabla, se pasan por alto los campos adicionales. Si la matriz tiene más elementos que el número de campos de la tabla, se pasará por alto el resto de elementos de la matriz.

Nota   No se produce ninguna sustitución si el puntero de registro está al final del archivo del área de trabajo actual y especifica un campo de otra área de trabajo.

Vea también

APPEND FROM ARRAY | APPEND GENERAL | COPY TO ARRAY | GATHER | REPLACE | SCATTER | SET OPTIMIZE