HELPLIB.HLB  —  RMU72  Load  Database  Examples (Cont.)
    Example 15

    The following example assumes you want to load a data file
    into the JOBS table that contains more fields than the table
    definition in the mf_personnel database. The example first
    attempts to do this by just excluding the extra field from the
    list associated with the Fields qualifier. However, this causes
    an error to be returned. The example then uses the FILLER keyword
    in the .rrd file to tell Oracle RMU not to attempt to load the
    additional field. The command executes successfully.

    The table definition for the JOBS table is as follows:

    Columns for table JOBS:
    Column Name                     Data Type        Domain
    -----------                     ---------        ------
    JOB_CODE                        CHAR(4)          JOB_CODE_DOM
     Primary Key constraint JOBS_PRIMARY_JOB_CODE
    WAGE_CLASS                      CHAR(1)          WAGE_CLASS_DOM
    JOB_TITLE                       CHAR(20)         JOB_TITLE_DOM
    MINIMUM_SALARY                  INTEGER(2)       SALARY_DOM
    MAXIMUM_SALARY                  INTEGER(2)       SALARY_DOM

    The .rrd file for the data you want to load appears as follows
    (note that there is no corresponding field to JOB_STATUS in the
    mf_personnel database definition for the JOBS table):

    DEFINE FIELD JOB_CODE DATATYPE IS TEXT SIZE IS 4.
    DEFINE FIELD WAGE_CLASS DATATYPE IS TEXT SIZE IS 1.
    DEFINE FIELD JOB_TITLE DATATYPE IS TEXT SIZE IS 20.
    DEFINE FIELD MINIMUM_SALARY DATATYPE IS TEXT SIZE IS 13.
    DEFINE FIELD MAXIMUM_SALARY DATATYPE IS TEXT SIZE IS 13.
    DEFINE FIELD JOB_STATUS DATATYPE IS TEXT SIZE IS 4.
    DEFINE RECORD JOBS.
       JOB_CODE .
       WAGE_CLASS .
       JOB_TITLE .
       MINIMUM_SALARY .
       MAXIMUM_SALARY .
       JOB_STATUS .
    END JOBS RECORD.

    The data file you want to load, jobs.unl, appears as follows:

    DBAD4Corp Db Administratr55000.00     95000.00     Old

    You attempt to load the file in the mf_personnel database
    by listing only the fields in the RMU Load command that have
    corresponding fields defined in the database:

    $ RMU/LOAD MF_PERSONNEL/RMS=(FILE=JOBS.RRD, FORMAT=TEXT) -
    _$ /FIELDS=(JOB_CODE, WAGE_CLASS, JOB_TITLE, MINIMUM_SALARY, -
    _$ MAXIMUM_SALARY) JOBS JOBS.UNL
    %RMU-F-FLDMUSMAT, Specified fields must match in number and datatype
    with the unloaded data
    %RMU-I-DATRECSTO, 0 data records stored

    The workaround for the problem of a mismatch between your data
    and .rrd file, and database definition for a table is to use the
    FILLER keyword in your .rrd file, as follows:

    DEFINE FIELD JOB_CODE DATATYPE IS TEXT SIZE IS 4.
    DEFINE FIELD WAGE_CLASS DATATYPE IS TEXT SIZE IS 1.
    DEFINE FIELD JOB_TITLE DATATYPE IS TEXT SIZE IS 20.
    DEFINE FIELD MINIMUM_SALARY DATATYPE IS TEXT SIZE IS 13.
    DEFINE FIELD MAXIMUM_SALARY DATATYPE IS TEXT SIZE IS 13.
    DEFINE FIELD JOB_STATUS DATATYPE IS TEXT SIZE IS 4 FILLER.  <------
    DEFINE RECORD JOBS.
       JOB_CODE .
       WAGE_CLASS .
       JOB_TITLE .
       MINIMUM_SALARY .
       MAXIMUM_SALARY .
       JOB_STATUS .
    END JOBS RECORD.

    Now that the .rrd file has been modified, attempt to load the
    record again:

    $ RMU/LOAD MF_PERSONNEL/RMS=(FILE=JOBS.RRD, FORMAT=TEXT) -
    _$ /FIELDS=(JOB_CODE, WAGE_CLASS, JOB_TITLE, MINIMUM_SALARY, -
    _$ MAXIMUM_SALARY) JOBS JOBS.UNL
    %RMU-I-DATRECSTO, 1 data records stored.

    Example 16

    The following example demonstrates the use of the Null="*" option
    of the Record_Definition qualifier to signal to Oracle RMU that
    any data that appears as an unquoted asterisk in the .unl file
    should have the corresponding column in the database be flagged
    as NULL.

    The example shows the contents of the .unl file, followed by the
    RMU Load command used to load this .unl file, and then the output
    from an SQL statement to display the data loaded.

    "98888","ABUSHAKRA","CAROLINE",*,"5 CIRCLE STREET","BOX 506",
    "CHELMSFORD", "MA", "02184", "1960061400000000"#
    "98889","BRADFORD","LEO",*,"4 PLACE STREET","BOX 555", "NASHUA","NH",
    "03060", "1949051800000000"#

    $ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME, FIRST_NAME, -
    _$ MIDDLE_INITIAL, ADDRESS_DATA_1, ADDRESS_DATA_2,  -
    _$ CITY, STATE, POSTAL_CODE, BIRTHDAY) -
    _$ /RECORD_DEFINITION=(FILE= EMPLOYEES.RRD, -
    _$ FORMAT=DELIMITED_TEXT, -
    _$ TERMINATOR="#", -
    -$ NULL="*" ) -
    _$ MF_PERSONNEL EMPLOYEES EMPLOYEES.UNL
    %RMU-I-DATRECREAD,  2 data records read from input file.
    %RMU-I-DATRECSTO,   2 data records stored.

    SQL> ATTACH 'FILENAME MF_PERSONNEL.RDB';
    SQL> SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID > '98000'
    cont> AND MIDDLE_INITIAL IS NULL;
     EMPLOYEE_ID   LAST_NAME        FIRST_NAME   MIDDLE_INITIAL
       ADDRESS_DATA_1              ADDRESS_DATA_2         CITY
          STATE   POSTAL_CODE   SEX    BIRTHDAY      STATUS_CODE
     98888         ABUSHAKRA        CAROLINE     NULL
       5 CIRCLE STREET             BOX 506                CHELMSFORD
          MA      02184         ?      14-Jun-1960   N

     98889         BRADFORD         LEO          NULL
       4 PLACE STREET              BOX 555                NASHUA
          NH      03060         ?      18-May-1949   N

    2 rows selected

    Example 17

    The following example demonstrates the use of the Null="" option
    of the Record_Definition qualifier to signal to Oracle RMU that
    any data that is an empty string in the .unl file (as represented
    by two commas with no space separating them) should have the
    corresponding column in the database be flagged as NULL.

    The example shows the contents of the .unl file, followed by the
    RMU Load command used to load this .unl file, and then the output
    from an SQL statement to display the data loaded.

    "90021","ABUSHAKRA","CAROLINE","A","5 CIRCLE STREET",,
    "CHELMSFORD", "MA", "02184", "1960061400000000"#
    "90015","BRADFORD","LEO","B","4 PLACE STREET",, "NASHUA","NH",
    "03030", "1949051800000000"#

    $ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME, FIRST_NAME, -
    _$ MIDDLE_INITIAL, ADDRESS_DATA_1, ADDRESS_DATA_2,  -
    _$ CITY, STATE, POSTAL_CODE, BIRTHDAY) -
    _$ /RECORD_DEFINITION=(FILE= EMPLOYEES.RRD, -
    _$ FORMAT=DELIMITED_TEXT, -
    _$ TERMINATOR="#", -
    _$ NULL="") -
    _$ MF_PERSONNEL EMPLOYEES EMPLOYEES.UNL
    %RMU-I-DATRECREAD,  2 data records read from input file.
    %RMU-I-DATRECSTO,   2 data records stored.

    $ SQL
    SQL> ATTACH 'FILENAME MF_PERSONNEL.RDB';
    SQL> SELECT * FROM EMPLOYEES WHERE ADDRESS_DATA_2 IS NULL;
     EMPLOYEE_ID   LAST_NAME        FIRST_NAME   MIDDLE_INITIAL
       ADDRESS_DATA_1              ADDRESS_DATA_2         CITY
          STATE   POSTAL_CODE   SEX    BIRTHDAY      STATUS_CODE
     90021         ABUSHAKRA        CAROLINE     A
       5 CIRCLE STREET             NULL                   CHELMSFORD
          MA      02184         ?      14-Jun-1960   N

     90015         BRADFORD         LEO          B
       4 PLACE STREET              NULL                   NASHUA
          NH      03030         ?      18-May-1949   N

    2 rows selected

    Example 18

    The following example is the same as Example 17 except it shows
    the use of the default value for the Null option of the Record_
    Definition qualifier to signal to Oracle RMU that any data that
    is an empty string in the .unl file (as represented by two commas
    with no space separating them) should have the corresponding
    column in the database be flagged as NULL.

    The example shows the contents of the .unl file, followed by the
    RMU Load command used to load this .unl file, and then the output
    from an SQL statement to display the data loaded.

    "90022","ABUSHAKRA","CAROLINE","A","5 CIRCLE STREET",,
    "CHELMSFORD", "MA", "02184", "1960061400000000"#
    "90014","BRADFORD","LEO","B","4 PLACE STREET",, "NASHUA","NH",
    "03030", "1949051800000000"#

    $ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME, FIRST_NAME, -
    _$ MIDDLE_INITIAL, ADDRESS_DATA_1, ADDRESS_DATA_2,  -
    _$ CITY, STATE, POSTAL_CODE, BIRTHDAY) -
    _$ /RECORD_DEFINITION=(FILE= EMPLOYEES.RRD, -
    _$ FORMAT=DELIMITED_TEXT, -
    _$ TERMINATOR="#", -
    _$ NULL) -
    _$ MF_PERSONNEL EMPLOYEES EMPLOYEES.UNL
    %RMU-I-DATRECREAD,  2 data records read from input file.
    %RMU-I-DATRECSTO,   2 data records stored.

    $ SQL
    SQL> ATTACH 'FILENAME MF_PERSONNEL.RDB';
    SQL> SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID = '90022' OR
    cont> EMPLOYEE_ID ='90014' AND ADDRESS_DATA_2 IS NULL;
     EMPLOYEE_ID   LAST_NAME        FIRST_NAME   MIDDLE_INITIAL
       ADDRESS_DATA_1              ADDRESS_DATA_2         CITY
          STATE   POSTAL_CODE   SEX    BIRTHDAY      STATUS_CODE
     90014         BRADFORD         LEO          B
       4 PLACE STREET              NULL                   NASHUA
          NH      03030         ?      18-May-1949   N

     90022         ABUSHAKRA        CAROLINE     A
       5 CIRCLE STREET             NULL                   CHELMSFORD
          MA      02184         ?      14-Jun-1960   N

    2 rows selected

    Example 19

    The following example demonstrates the use of the Null option of
    the Record_Definition qualifier to signal to Oracle RMU that any
    data that is an empty string in the .unl file (as represented
    by two commas with no space separating them) should have the
    corresponding column in the database be flagged as NULL. In
    addition, any column for which there is only data for the first
    column or columns has the remaining columns set to NULL.

    The example shows the contents of the .unl file, followed by the
    RMU Load command used to load this .unl file, and then the output
    from an SQL statement to display the data loaded.

    "90026","ABUSHAKRA","CAROLINE","A","5 CIRCLE STREET","BOX 783",
    "CHELMSFORD","MA", "02184", "1960061400000000"
    "90011","BRADFORD","LEO",,,, "NASHUA","NH","03030","1949051800000000"
    "90010"
    "90009",,,,,,,,,"1966061600000000"

    $ RMU/LOAD/FIELDS=(EMPLOYEE_ID, LAST_NAME, FIRST_NAME, -
    _$ MIDDLE_INITIAL, ADDRESS_DATA_1, ADDRESS_DATA_2,  -
    _$ CITY, STATE, POSTAL_CODE, BIRTHDAY) -
    _$ /RECORD_DEFINITION=(FILE= EMPLOYEES.RRD, -
    _$ FORMAT=DELIMITED_TEXT, -
    _$ NULL) -
    _$ MF_PERSONNEL EMPLOYEES EMPLOYEES.UNL
    %RMU-I-DATRECREAD,  5 data records read from input file.
    %RMU-I-DATRECSTO,   5 data records stored.
    $ SQL
    SQL> ATTACH 'FILENAME MF_PERSONNEL.RDB';
    SQL> SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID ='90026' OR
    cont> EMPLOYEE_ID BETWEEN '90009' AND '90011';
     EMPLOYEE_ID   LAST_NAME        FIRST_NAME   MIDDLE_INITIAL
       ADDRESS_DATA_1              ADDRESS_DATA_2         CITY
          STATE   POSTAL_CODE   SEX    BIRTHDAY      STATUS_CODE
     90009         NULL             NULL         NULL
       NULL                        NULL                   NULL
          NULL    NULL          ?      16-Jun-1966   N

     90010         NULL             NULL         NULL
       NULL                        NULL                   NULL
          NULL    NULL          ?      NULL          N

     90011         BRADFORD         LEO          NULL
       NULL                        NULL                   NASHUA
          NH      03030         ?      18-May-1949   N

     90026         ABUSHAKRA        CAROLINE     A
       5 CIRCLE STREET             BOX 783                CHELMSFORD
          MA      NULL          ?      14-Jun-1960   N

    4 rows selected

    Example 20

    The following example demonstrates a parallel load operation.
    In this example, three executors are specified because there are
    three storage areas in the JOB_HISTORY table of the mf_personnel
    database. The Defer_Index_Updates qualifier is used because there
    are no constraints or triggers defined on the JOB_HISTORY table,
    and it is known that no other database activity will occur when
    this command is executed.

    In addition, a plan file is generated to capture the
    specification of this load operation. See the next example for
    a description of the plan file.

    Note that the pid provided in the output from this command is the
    process ID.

    $ RMU/LOAD/PARALLEL=(EXEC=3)/DEFER_INDEX_UPDATES mf_personnel.rdb -
    _$ /RECORD_DEFINITION=(FILE=JOB_HIST,FORMAT=DELIMITED_TEXT, -
    _$ EXCEPTION_FILE=DISK1:[ERRORS]JOB_HIST.EXC) -
    _$ /STATISTICS=(INTERVAL=30)/LIST_PLAN=JOB_HISTORY.PLAN -
    _$ JOB_HISTORY JOB_HIST.UNL
    %RMU-I-EXECUTORMAP, Executor EXECUTOR_1 (pid: 2941941B) will load
     storage area EMPIDS_LOW.
    %RMU-I-EXECUTORMAP, Executor EXECUTOR_2 (pid: 2941F01D) will load
     storage area EMPIDS_MID.
    %RMU-I-EXECUTORMAP, Executor EXECUTOR_3 (pid: 2941C81F) will load
     storage area EMPIDS_OVER.

    --------------------------------------------------------------------------
    ELAPSED: 0 00:00:30.05 CPU: 0:00:01.64 BUFIO: 59 DIRIO: 219 FAULTS: 2670

     1640 data records read from input file.
      1330 records loaded before last commit.
      220 records loaded in current transaction.
      0 records rejected before last commit.
      0 records rejected in current transaction.
     26 early commits by executors.
      3 executors:  0 Initializing; 0 Idle; 0 Terminated
                    0 Sorting; 2 Storing; 1 Committing; 0 Executing
    --------------------------------------------------------------------------
       .
       .
       .
    --------------------------------------------------------------------------
    ELAPSED: 0 00:02:30.12 CPU: 0:00:02.94 BUFIO: 103 DIRIO: 227  FAULTS: 267
    1
     8070 data records read from input file.
      7800 records loaded before last commit.
      210 records loaded in current transaction.
      0 records rejected before last commit.
      0 records rejected in current transaction.
    139 early commits by executors.
      3 executors:  0 Initializing; 0 Idle; 0 Terminated
                    0 Sorting; 1 Storing; 2 Committing; 0 Executing
    ---------------------------------------------------------------------------

    %RMU-I-EXECSTAT0, Statistics for EXECUTOR_1:
    %RMU-I-EXECSTAT1,   Elapsed time:  00:02:45.84    CPU time:       12.95
    %RMU-I-EXECSTAT2,   Storing time:  00:00:45.99    Rows stored:    2440
    %RMU-I-EXECSTAT3,   Commit time:   00:01:33.17    Direct I/O:     6623
    %RMU-I-EXECSTAT4,   Idle time:     00:00:22.34    Early commits:  47

    %RMU-I-EXECSTAT0, Statistics for EXECUTOR_2:
    %RMU-I-EXECSTAT1,   Elapsed time:  00:02:48.42    CPU time:       18.10
    %RMU-I-EXECSTAT2,   Storing time:  00:01:24.98    Rows stored:    4319
    %RMU-I-EXECSTAT3,   Commit time:   00:01:18.13    Direct I/O:     9621
    %RMU-I-EXECSTAT4,   Idle time:     00:00:01.03    Early commits:  29

    %RMU-I-EXECSTAT0, Statistics for EXECUTOR_3:
    %RMU-I-EXECSTAT1,   Elapsed time:  00:02:46.50    CPU time:       9.78
    %RMU-I-EXECSTAT2,   Storing time:  00:00:11.12    Rows stored:    2293
    %RMU-I-EXECSTAT3,   Commit time:   00:02:26.67    Direct I/O:     3101
    %RMU-I-EXECSTAT4,   Idle time:     00:00:04.14    Early commits:  77

    %RMU-I-EXECSTAT5,   Main process idle time:  00:02:41.06
    %RMU-I-DATRECREAD,  9052 data records read from input file.
    %RMU-I-DATRECSTO,   9052 data records stored.
    %RMU-I-DATRECREJ,   0 data records rejected.

    Example 21

    The following command is the same as in the previous example,
    except the Noexecute qualifier is specified. Because this
    qualifier is specified, the load operation is not performed.
    However, the load plan file is created and verified.

    $ RMU/LOAD/PARALLEL=(EXEC=3)/DEFER_INDEX_UPDATES/NOEXECUTE -
    _$  mf_personnel.rdb -
    _$ /RECORD_DEFINITION=(FILE=JOB_HIST,FORMAT=DELIMITED_TEXT, -
    _$ EXCEPTION_FILE=DISK1:[ERRORS]JOB_HIST.EXC) -
    _$ /STATISTICS=(INTERVAL=30)/LIST_PLAN=JOB_HISTORY.PLAN -
    _$ JOB_HISTORY JOB_HIST.UNL

    Example 22

    The following display shows the contents of the plan file,
    JOB_HISTORY.PLAN, created in the preceding example. The following
    callouts are keyed to this display:

    1  The Plan Parameters include all the parameters specified on
       the RMU Load command line and all possible command qualifiers.

    2  Command qualifiers that are not specified on the command line
       are sometimes represented as comments in the plan file. This
       allows you to edit and adjust the plan file for future use.

    3  Command qualifiers that are not specified on the command line
       and for which there are defaults are sometimes represented
       with their default value in the plan file.

    4  Command qualifiers that are explicitly specified on the
       command line are represented in the plan file as specified.

    5  Executor Parameters are listed for each executor involved
       in the load operation. Like the command qualifiers, both the
       values you specify on the command line and those that are
       allowed but were not specified are included in this list of
       parameters.

    6  Note that the exception file extension is appended with the
       executor number. When you specify such files on the command
       line, Oracle RMU generates a separate file for each executor.
       If desired, you could edit this plan file to place each
       exception file on a different disk or directory.

    ! Plan created on 20-JUL-1995 by RMU/LOAD.

    Plan Name = LOAD_PLAN
    Plan Type = LOAD

    Plan Parameters:1
        Database Root File = MF_PERSONNEL.RDB;
        Table Name = JOB_HISTORY
        Input File = JOB_HIST.UNL

        ! Fields = <all> 2
        Transaction_Type = PROTECTED
        ! Buffers = <default>

        Row_Count = 50 3
        ! Skip = <none>
        NoLog_Commits
        NoCorresponding
        Defer_Index_Updates
        Constraints
        Parallel
        NoPlace
        Statistics = INTERVAL = 30 4
        NoTrigger_Relations
        Record_Definition_File = JOB_HIST
            Format = Delimited_Text
                Prefix = """"
                Suffix = """"
                NoNull
                Separator = ","
                End Of Line Terminator
    End Plan Parameters

    Executor Parameters: 5
        Executor Name = EXECUTOR_1
        ! Place_Only = <none>
        Exception_File = DISK1:[DATABASE]JOB_HIST.EXC_1; 6
        ! RUJ Directory = <default>
        Communication Buffers = 4
    End Executor Parameters

    Executor Parameters:
        Executor Name = EXECUTOR_2
        ! Place_Only = <none>
        Exception_File = DISK1:[DATABASE]JOB_HIST.EXC_2;
        ! RUJ Directory = <default>
        Communication Buffers = 4
    End Executor Parameters

    Executor Parameters:
        Executor Name = EXECUTOR_3
        ! Place_Only = <none>
        Exception_File = DISK1:[DATABASE]JOB_HIST.EXC_3;
        ! RUJ Directory = <default>
        Communication Buffers = 4
    End Executor Parameters

    Example 23

    The following example demonstrates the structure of the record
    definition file (.rrd) for an RMU Load command for several
    different data types. The first part of the example displays the
    table definition, the second part shows the RMU Unload command
    you could use to get an appropriate .rrd file for these data
    types, and the last part shows the .rrd file definitions for
    these data types:

    SQL> attach 'filename data_types.rdb';
    SQL> show table many_types;
    Information for table MANY_TYPES

    Columns for table MANY_TYPES:
    Column Name                     Data Type        Domain
    -----------                     ---------        ------
    F_ID                            TINYINT
    F_CHAR_3                        CHAR(3)
    F_TINYINT                       TINYINT
    F_SMALLINT                      SMALLINT
    F_INTEGER                       INTEGER
    F_BIGINT                        BIGINT
    F_NTINYINT                      TINYINT(1)
    F_NSMALLINT                     SMALLINT(2)
    F_NINTEGER                      INTEGER(7)
    F_NBIGINT                       BIGINT(5)
    F_REAL                          REAL
    F_DOUBLE_PREC                   DOUBLE PRECISION
    F_DATE_VMS                      DATE VMS
    F_DATE_ANSI                     DATE ANSI
    F_VARCHAR                       VARCHAR(20)
    F_FLOAT                         REAL
    F_DATE                          DATE VMS
    F_TIME                          TIME
    F_TIMESTAMP                     TIMESTAMP(2)
    F_INTERVAL                      INTERVAL
                                     DAY (2)

    $ RMU/UNLOAD DATA_TYPES.RDB/RECORD_DEF=(FILE=MANY_TYPES.RRD) -
    _$ MANY_TYPES MANY_TYPES.UNL

    $ TYPE MANY_TYPES.RRD
    DEFINE FIELD F_ID DATATYPE IS SIGNED BYTE.
    DEFINE FIELD F_CHAR_3 DATATYPE IS TEXT SIZE IS 3.
    DEFINE FIELD F_TINYINT DATATYPE IS SIGNED BYTE.
    DEFINE FIELD F_SMALLINT DATATYPE IS SIGNED WORD.
    DEFINE FIELD F_INTEGER DATATYPE IS SIGNED LONGWORD.
    DEFINE FIELD F_BIGINT DATATYPE IS SIGNED QUADWORD.
    DEFINE FIELD F_NTINYINT DATATYPE IS SIGNED BYTE SCALE -1.
    DEFINE FIELD F_NSMALLINT DATATYPE IS SIGNED WORD SCALE -2.
    DEFINE FIELD F_NINTEGER DATATYPE IS SIGNED LONGWORD SCALE -7.
    DEFINE FIELD F_NBIGINT DATATYPE IS SIGNED QUADWORD SCALE -5.
    DEFINE FIELD F_REAL DATATYPE IS F_FLOATING.
    DEFINE FIELD F_DOUBLE_PREC DATATYPE IS G_FLOATING.
    DEFINE FIELD F_DATE_VMS DATATYPE IS DATE.
    DEFINE FIELD F_DATE_ANSI DATATYPE IS DATE ANSI.
    DEFINE FIELD F_VARCHAR DATATYPE IS TEXT SIZE IS 20.
    DEFINE FIELD F_FLOAT DATATYPE IS F_FLOATING.
    DEFINE FIELD F_DATE DATATYPE IS DATE.
    DEFINE FIELD F_TIME DATATYPE IS TIME.
    DEFINE FIELD F_TIMESTAMP DATATYPE IS TIMESTAMP SCALE -2.
    DEFINE FIELD F_INTERVAL DATATYPE IS INTERVAL DAY SIZE IS 2 DIGITS.
    DEFINE RECORD MANY_TYPES.
       F_ID .
       F_CHAR_1 .
     . . .
    END MANY_TYPES RECORD.

    Example 24

    The following example shows part of a script for loading a copy
    of the PERSONNEL database using the output from SQL EXPORT.

    $! Export the database definition and the data
    $ sql$ export database filename personnel into pers.rbr;
    $
    $! Create an empty database (use RMU Load to add data)
    $ sql$ import database from pers.rbr filename copy_pers no data;
    $
    $! Now use load to add the same table
    $ rmu/load copy_pers /match_name=employees employees pers.rbr
    %RMU-I-DATRECREAD,  100 data records read from input file.
    %RMU-I-DATRECSTO,   100 data records stored.
    $
    $ rmu/load copy_pers /match_name job_history pers.rbr
    %RMU-I-DATRECREAD,  274 data records read from input file.
    %RMU-I-DATRECSTO,   274 data records stored.
    $
    $ rmu/load copy_pers /match_name salary_history pers.rbr
    %RMU-I-DATRECREAD,  729 data records read from input file.
    %RMU-I-DATRECSTO,   729 data records stored.
    $
       .
       .
       .
    $ rmu/load copy_pers /match_name work_status pers.rbr
    %RMU-I-DATRECREAD,  3 data records read from input file.
    %RMU-I-DATRECSTO,   3 data records stored.

    Example 25

    The following example shows that, by default, truncation errors
    during a Load are reported.

    $ rmu/load abc f2 f1
    %RMU-I-LOADERR, Error loading row 1.
    %RDB-E-TRUN_STORE, string truncated during assignment to a column
    %RMU-I-DATRECREAD,  1 data records read from input file.
    %RMU-I-DATRECSTO,   0 data records stored.
    %RMU-F-FTL_LOAD, Fatal error for LOAD operation at 13-FEB-2008 15:39:44.40
    $

    Example 26

    The following example shows the use of the /VIRTUAL_FIELDS
    qualifier. The values of the INTEGER field A and the AUTOMATIC
    field B are first unloaded into the AA.UNL file from the RMU_
    LOAD_AUTOMATIC_4_DB database table AA using the /VIRTUAL_
    FIELDS qualifier. Then the values of the INTEGER field A and
    the AUTOMATIC field B in the AA.UNL file are loaded into the AA
    table in the RMU_LOAD_AUTOMATIC_4_DB2 database.

    $ SQL
    create database
        filename RMU_LOAD_AUTOMATIC_4_DB;

    -- create a sequence and a table
    create sequence S increment by -1;
    create table AA
        (a integer
        ,b automatic as s.nextval);

    -- load 10 rows
    begin
    declare :i integer;
    for :i in 1 to 10
    do
        insert into AA (a) values (:i);
    end for;
    end;
    commit;
    disconnect all;
    $ exit
    $       rmu/unload-
                /virtual=(automatic)-
                /record=(file=rr,format=delim)-
                RMU_LOAD_AUTOMATIC_4_DB aa aa.unl
    %RMU-I-DATRECUNL,   10 data records unloaded.
    $
    $
    $! Load using /VIRTUAL
    $       rmu/load-
                /record=(file=rr,format=delim)-
                /virtual-
                RMU_LOAD_AUTOMATIC_4_DB2 aa aa.unl
    %RMU-I-DATRECREAD,  10 data records read from input file.
    %RMU-I-DATRECSTO,   10 data records stored.
    $
Close Help