[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 UPDATE
 Update current database file from another database file
------------------------------------------------------------------------------
 Syntax

     UPDATE FROM <xcAlias>
        ON <expKey> [RANDOM]
        REPLACE <idField> WITH <exp>
        [, <idField2> WITH    <exp2>...]

 Arguments

     FROM <xcAlias> specifies the alias of the work area used to update
     records in the current work area.  This argument may be specified either
     as a literal file name or as a character expression enclosed in
     parentheses.

     ON <expKey> specifies the expression that defines matching records
     in the FROM work area.

     REPLACE <idField> specifies a field in the current work area to
     replace with a new value.

     WITH <exp> specifies the value to replace into the current field.
     You must reference any field contained in the FROM work area with the
     correct alias.

     RANDOM allows records in the FROM database file to be in any order.
     If this option is specified, the current database file must be indexed
     on <expKey>.

 Description

     UPDATE is a database command that replaces fields in the current work
     area with values from another work area based on the specified key
     expression.  UPDATE is designed to update only current work area records
     based on a one-to-one or one-to-many relation with the FROM work area.
     This means that UPDATE can only update records in the current work area
     with unique key values.  When there is more than one instance of a key
     value, only the first record with the key value is updated.  The FROM
     work area, however, can have duplicate key values.

     There are two formulations of the command depending on whether the FROM
     work area records are sorted or indexed on <expKey> or not.  If RANDOM
     is not specified, both the current work area and the FROM work area must
     be indexed or sorted in <expKey> order.  If RANDOM is specified, the
     current work area must be indexed by <expKey>, but the FROM work area
     records can be in any order.

     To use UPDATE in a network environment, the current database file must
     be locked with FLOCK() or USEed EXCLUSIVEly.  The FROM database file may
     be used in any mode.  Refer to the "Network Programming" chapter in the
     Programming and Utilities Guide for more information.

 Notes

     .  Deleted records: If DELETED is OFF, deleted records in both
        source files are processed.  Records in the file being updated retain
        their deleted status and are not affected by the deleted status of
        records in the FROM file.  If DELETED is ON, however, no deleted
        records are processed from either source file.

 Examples

     .  This example UPDATEs the Customer database file with
        outstanding invoice amounts:

        USE Invoices NEW
        USE Customer INDEX Customer NEW
        UPDATE FROM Invoices ON Last;
           REPLACE Owed WITH Owed + Invoices->Amount RANDOM

 Files   Library is CLIPPER.LIB.


See Also: DBCREATEIND() INDEX JOIN REPLACE SET UNIQUE* SORT
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson