## IMPORT TABLE

You can use the IMPORT TABLE command to import all the data of a table.

### Prerequisites

You require the TESTDB demo database. Create the database user MONA if not set up already. Create the HOTEL schema as user MONA if it does not already exist.

You have exported the required data using the EXPORT TABLE Command.

It is not possible to select specific column values with the IMPORT TABLE command; you can only do this with the IMPORT COLUMNS command.

The commands IMPORT TABLE ... PAGE and IMPORT TABLE ... PAGES WITH ... may only be executed by the owner of the table. In all other cases you must have access authorization for the table you want to import the data to.

Start the Loader as database administrator MONA and log on to the demo database TESTDB. Use the session mode.

loadercli –d testdb –u mona,red –s hotel

### Examples

The data from the selected table is to be imported into the TESTDB database.

You can make entries after the keyword CATALOG and/or DATA to select what is to be imported, the database catalog and/or the application data.

If you import a table, the Loader also creates all the objects and links (views, foreign key dependencies with other tables…) that are defined for the table. If the necessary objects are not present and the import therefore cannot be executed, the Loader notifies you of the fact. Typical error messages include: -25451 and -25392. If these errors occur, the import is terminated at this point.

Test the Loader behavior for different tables. If necessary, enter the required dependent objects into the TESTDB database. The ROOM table, for example, is dependent on the CITY and HOTEL tables.

#### Importing the Database Catalog of a Table

You can import all the database catalog information of a table.

IMPORT TABLE hotel.room
CATALOG INSTREAM 'room_ddl.catalog'

The database catalog (CATALOG) is imported in the DDL format.

See also:

Loader, Data Stream

#### Importing the Application Data of a Table

You can import all the application data of a table.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_csv.data'

The application data (DATA) is imported in the CSV format (default value).

IMPORT TABLE hotel.room
DATA INSTREAM 'room_fwv.data' FWV
hno 1-5
type 6-11
free 12-31
price 32-51

The application data (DATA) is imported in the FWV format.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_fwvbinary.data' FWV BINARY
hno 1-5
type 06-11
free 12-31
price 32-51

The application data (DATA) is imported in the FWV BINARY format.

See also:

Loader, CSV, FWV, FWV BINARY

IMPORT TABLE hotel.room
DATA INSTREAM 'room_pages.data' PAGES

The application data (DATA) is imported in the PAGES format.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_records.data' RECORDS

The application data (DATA) is imported in the RECORDS format.

A PAGES import uses a database format (based on a page) and does not write log entries, so it is faster than an import that uses one of the other formats. However, the tables imported in the PAGES format are write-protected until you back up the data.

See also:

Loader, PAGES, RECORDS

#### Performance Improvement

You can speed up an IMPORT TABLE process considerably even if you are using format CSV or FWV [Binary] by importing page by page. In this case you should use the PAGE WITH ... option of the usage_spec syntax rule for the DATA INSTREAM data stream, which determines that the table data is imported page by page.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_csv.data'
PAGE WITH 80 % USAGE

The application data is imported into the blank table ROOM. The application data is read from the data stream in the CSV data format and imported into the ROOM table page by page with a fill level of 80 %.

See also:

Loader, Performance Improvement in the IMPORT TABLE

#### Importing the Database Catalog and all the Application Data of a Table

You can import all the data in the specified table.

IMPORT TABLE hotel.room
CATALOG INSTREAM 'room_ddl.catalog'
DATA INSTREAM 'room_csv.data'

Observe the sequence of the syntax elements. Always enter the syntax element for the import of the database catalog first, and then the syntax element for the import of the application data.

#### if_condition

You can select individual data records from a DATA data stream in the formats CSV, FWV or RECORDS and then import only these records to the specified table. The IF condition is ignored if a data stream is imported in the PAGES format, as the complete page is always imported. Observe the sequence of the syntax elements. Enter the IF condition first.

IMPORT TABLE hotel.room
IF POS 4 < '200'
CATALOG INSTREAM 'room_ddl.catalog'
DATA INSTREAM 'room_csv.data'

The rows that have a value below 200 in the PRICE column are imported to the ROOM table.

See also:

Loader, Selecting Data Records

#### DUPLICATES Clause

Use the DUPLICATES clause to control the behavior if duplicate table rows occur. Observe the sequence of the syntax elements. Enter the DUPLICATES clause after the IF condition.

IMPORT TABLE hotel.room
UPDATE DUPLICATES
CATALOG INSTREAM 'room_ddl.catalog'
DATA INSTREAM 'room_csv.data'

The application data of table ROOM is imported and an existing row is overwritten with the imported data record.

See also:

Loader, Duplicates Clause (IMPORT TABLE Command)

#### Additional Log Functions

If you specify a data stream after the keyword PACKAGE, the command entries from the SYSLOADER.TRANSFORMATIONMODEL table are exported to the specified data stream. This is an additional log option. Always enter the PACKAGE syntax element as the last syntax element.

IMPORT TABLE hotel.room
CATALOG INSTREAM 'room_ddl.catalog'
PACKAGE OUTSTREAM 'room_csv.package'

Loader, Additional Log Functions (package_spec)

#### Handling LONG Values

If you use the CSV and FWV [BINARY] formats, extra data streams are created for the LONG data during export.

The data of the HOTEL table in the HOTEL schema is to be imported. The HOTEL table has the LONG column INFO, the contents of which were exported in a separate data stream. Enter the LOB syntax elements after the DATA syntax element.

IMPORT TABLE hotel.hotel
DATA INSTREAM 'hotel_csv.data'
LOB INSTREAM INFO 'hotel_info_csv.long'

All the columns in the HOTEL table are imported. The LONG values are stored in the data stream hotel_info_csv.long.

If you use the PAGES and RECORDS formats, all data from the table, including LONG data, is exported to a data stream during export. A LOB syntax element is therefore not necessary for the import.

IMPORT TABLE hotel.hotel.
DATA INSTREAM 'hotel_records.data' RECORDS

All columns of the HOTEL table, including the LONG column INFO, are imported from the hotel_records.data data stream.

See also:

Loader, Exporting and Importing LONG Values

### Complete Syntax of the IMPORT TABLE Command

Combining the syntax options can result in correspondingly complex commands. Observe the sequence of the syntax elements.

IMPORT TABLE hotel.room
IF POS 4 < '200'
UPDATE DUPLICATES
CATALOG INSTREAM FILE 'room_ddl.catalog' DDL
DATA INSTREAM FILE 'room_csv.data' CSV
PAGE WITH 80 % USAGE
PACKAGE OUTSTREAM FILE 'room_csv.package' CSV

For a complete syntax description, see IMPORT TABLE Command in the Loader documentation.

If you want to import only selected column values instead of all the table data, select the IMPORT COLUMNS Command.

See also:

Other commands for Importing