VMS Help  —  RDML72  Statements  COMMIT  Examples
    The following programs demonstrate the use of the commit
    statement to make permanent changes to a field value in a
    database. These programs:

    o  Use a record selection expression to find an employee in the
       EMPLOYEES relation with the ID number "00193"

    o  Use a MODIFY statement to change the field value of
       E.LAST_NAME for this employee

    Although this change is written to the database at the time of
    the MODIFY, the change is not permanent until the programs issue
    a COMMIT statement. After the programs issue the COMMIT statement
    the old value for E.LAST_NAME is not available.

    The C example uses the function pad_string to pad the name
    "Smith-Fields" with blanks. Blanks are appended to the name so
    that the length of the name matches the spaces reserved for it in
    the database definition for LAST_NAME.

1  –  C Example

    #include <stdio.h>
    DATABASE PERS = FILENAME "PERSONNEL";

    extern void pad_string();

    main()
    {
    READY PERS;
    START_TRANSACTION READ_WRITE;

    FOR E IN EMPLOYEES WITH E.EMPLOYEE_ID = '00193'
       MODIFY E USING
         pad_string ("Smith-Fields", E.LAST_NAME, sizeof(E.LAST_NAME));
       END_MODIFY;
    END_FOR;

    COMMIT;
    FINISH;
    }

2  –  Pascal Example

    program commit_changes (input,output);
    DATABASE PERS = FILENAME 'PERSONNEL';

    begin
    READY PERS;
    START_TRANSACTION READ_WRITE;

    FOR E IN EMPLOYEES WITH E.EMPLOYEE_ID = '00193'
       MODIFY E USING
          E.LAST_NAME := 'Smith-Fields';
       END_MODIFY;
    END_FOR;

    COMMIT;
    FINISH;
    end.
Close Help