## Syntax Rules: Arranged Alphabetically

The following overview lists the syntax rules required for the Loader commands, in alphabetical order.

Each Loader command comprises one or more keywords, arguments and syntax rules. The syntax used for Loader commands is the Backus Naur Form (BNF) with the following conventions:

| Explanation
KEYWORDS | Keywords are shown in uppercase letters for the sake of clarity. They can be entered in uppercase or lowercase letters. If you use keywords as names of columns, tables, or database users, you must place them in double quotation marks.
<xyz> | Terms in angle brackets are placeholders for end symbols explained in this document. Do not use angle brackets when entering a Loader statement. These are user inputs. Note that you might have to place these entries in single quotation marks, if the syntax rule requires this. End symbols are numbers, characters, literals, or keywords and are not expanded further.
<! text !> | Texts enclosed in angled brackets and exclamation points indicate that the syntactical unit is explained by means of a text. Do not enter the angled brackets or exclamation points when specifying a Loader command.
rule ::= rule_section | Rules are the building blocks of Loader commands. Rule sections describe how these building blocks are put together to form more complex clauses and also dictate the notation that is used. A rule section is any combination of rules and end symbols.
rule1 rule2 | The two rules are written one after the other, separated by at least one blank.
[rule] | Optional rule. This rule can be omitted entirely. Do not enter the square brackets when specifying a command.
rule1 | rule2 | ... | rule<n> | Alternative rules. You can use exactly one of the rules.
rule, ... | The rule can be repeated as often as required. The individual repetitions must be written one after the other and separated by a comma and any number of blanks.
rule ... | The rule can be repeated as often as required. The individual repetitions must be written one after the other and separated by spaces.

Blank characters are allowed in commands. These are not interpreted by the Loader.

The syntax rules can also be displayed alphabetically: Syntax Rules Arranged Semantically.

<autocommit_command> ::=
AUTOCOMMIT ON
| AUTOCOMMIT OFF

<backup_tool_spec> ::=
BACKINT
| NETWORKER
| TSM

<bool_spec> ::=
BOOLEAN '<true_value>/<false_value>'

<catalog_data_instream_part_spec> ::=
<catalog_instream_spec>
| <data_instream_part_spec>
| <catalog_instream_spec> <data_instream_part_spec>

<catalog_data_instream_table_spec> ::=
<catalog_instream_spec>
| <data_instream_table_spec>
| <catalog_instream_spec> <data_instream_table_spec>

<catalog_data_outstream_part_spec> ::=
<catalog_outstream_spec>
| <data_outstream_part_spec>
| <catalog_outstream_spec> <data_outstream_part_spec>

<catalog_data_outstream_table_spec> ::=
<catalog_outstream_spec>
| <data_outstream_table_spec>
| <catalog_outstream_spec> <data_outstream_table_spec>

<catalog_instream_spec> ::=
CATALOG <instream_ddl_spec>

<catalog_outstream_spec> ::=
CATALOG <outstream_ddl_spec>

<character> ::=
<! SQL Reference Manual !>

<code_page_spec> ::=
CODEPAGE [<literal>]

<code_spec> ::=
<standard_code_spec>
| CODESET <literal>

<column_assignment> ::=
<column_name> '<literal>'
| <column_name> <column_function>

<column_dataformat_spec> ::=
CSV <csv_format_spec> ...
| FWV [BINARY] <fwv_format_spec> ...
| FWV BINARY <fwv_format_spec> ... <noheader_spec>

<column_function> ::=
DATE
| FALSE
| STAMP
| TIME
| TIMESTAMP
| TRUE
| USER
| USERGROUP
| <sequence_number>

<column_id> ::=
<unsigned_integer>

<column_name> ::=
<identifier>

<column_spec> ::=
<column_name>
| <column_id>

<compare_operator> ::=
<
| >
| =
| <=
| >=
| !=

<condition> ::=
(<condition>)
| <condition> AND <condition>
| <condition> OR <condition>
| NOT <condition>
| <simple_condition>

<configuration_spec> ::=
CONFIGURATION <instream_csv_spec>

<csv_format_spec> ::=
<separator_spec>
| <delimiter_spec>
| <null_spec>
| <field_format_spec>

<data_instream_column_spec> ::=
DATA <instream_columnformat_spec> [<import_lobcolumn_spec> ...]

<data_instream_columns_spec> ::=
DATA <instream_columnformat_spec>
[<import_column_spec> ... <import_lobcolumn_spec> ...] [<usage_spec>]

<data_instream_part_spec> ::=
DATA <instream_tableformat_spec>

<data_instream_table_spec> ::=
<data_instream_part_spec>
| <data_instream_columns_spec>

<data_outstream_column_spec> ::=
DATA <outstream_columnformat_spec> [<export_lobcolumn_spec> ...]

<data_outstream_part_spec>::=
DATA <outstream_tableformat_spec>

<data_outstream_table_spec> ::=
<data_outstream_part_spec>
| <data_outstream_column_spec>

<database_computer> ::=
<! USE DB command !>

<database_name> ::=
<! USE DB command !>

<database_spec> ::=
<database_name> [ON <database_computer> [ENCRYPTION <protocol_name>]]

<database_user> ::=
<! SQL Reference Manual !>

<date_spec> ::=
DATE <standard_date_mask>
| DATE '<free_mask_date>'

<decimal_symbol> ::=
<! SET command !>

<delimter> ::=
<character>

<delimiter_spec> ::=
DELIMITER '<delimiter>'

<digit_grouping_symbol> ::=
<! SET command !>

<duplicates_clause> ::=
REJECT DUPLICATES
| IGNORE DUPLICATES
| UPDATE DUPLICATES

<ebid_spec> ::=
EBID '<literal>'

<exclude_include> ::=
EXCLUDE
| INCLUDE

<export_column_spec> ::=
<map_column_field>
| <field_assignment>

<export_columns_command> ::=
EXPORT COLUMNS <select_expression>
[MAP COLUMNS <export_column_spec> ...]
<data_outstream_column_spec>

<export_command> ::=
<export_db_command>
| <export_user_command>
| <export_schema_command>
| <export_table_command>
| <export_columns_command>

<export_db_command> ::=
EXPORT DB
[<configuration_spec>]
<catalog_data_outstream_part_spec>
[<package_spec>]
[<restart_spec>]

<export_lobcolumn_spec> ::=
LOB <outstream_lob_spec>

<export_schema_command> ::=
EXPORT SCHEMA <schema_name>
[<configuration_spec>]
<catalog_data_outstream_part_spec>
[<package_spec>]
[<restart_spec>]

<export_table_command> ::=
EXPORT TABLE <table_name>
[<restore_spec>]
[<order_clause>]
<catalog_data_outstream_table_spec>
[<package_spec>]

<export_user_command> ::=
EXPORT USER
[<configuration_spec>]
<catalog_data_outstream_part_spec>
[<package_spec>]
[<restart_spec>]

<false_value> ::=
<! SET command !>

<field_assignment> ::=
'<literal>' <field_spec>

<field_format_spec> ::=
<bool_spec>
| <code_spec>
| <date_spec>
| <number_spec>
| <time_spec>
| <timestamp_spec>

<field_function> ::=
<field_type> [HEX]
| <numerical_functions>
| <field_type> [HEX] <numerical_functions>

<field_spec> ::=
<unsigned_integer>
| <unsigned_integer> - <unsigned_integer>

<field_type> ::=
/* empty */
| CHAR
| DECIMAL [<unsigned_integer>]
| INTEGER
| REAL
| ZONED [<unsigned_integer>]

<free_mask_date> ::=
<! date specification !>

<free_mask_time> ::=
<! time specification !>

<free_mask_timestamp> ::=
<! time stamp specification !>

<fwv_format_spec> ::=
<null_spec>
| <int_spec>
| <field_format_spec>

<identifier> ::=
<! SQL Reference Manual !>

<if_condition> ::=
IF <condition>

<import_column_spec> ::=
<map_field_column> [<null_condition>]
| <column_assignment>

<import_columns_command> ::=
IMPORT COLUMNS TABLE <table_name>
[<if_condition>]
[<duplicates_clause>]
<import_column_spec> ...
<data_instream_column_spec>

<import_command> ::=
<import_db_command>
| <import_user_command>
| <import_schema_command>
| <import_table_command>
| <import_columns_command>

<import_db_command> ::=
IMPORT DB
[<duplicates_clause>]
[<configuration_spec>]
<catalog_data_instream_part_spec>
[<package_spec>]
[<restart_spec>]

<import_lobcolumn_spec> ::=
LOB <instream_lob_spec>

<import_schema_command> ::=
IMPORT SCHEMA <schema_name>
[<duplicates_clause>]
[<map_schema_spec>]
[<configuration_spec>]
<catalog_data_instream_part_spec>
[<package_spec>]
[<restart_spec>]

<import_table_command> ::=
IMPORT TABLE <table_name>
[<if_condition>]
[<duplicates_clause>]
<catalog_data_instream_table_spec>
[<package_spec>]

<import_user_command> ::=
IMPORT USER
[<duplicates_clause>]
[<configuration_spec>]
<catalog_data_instream_part_spec>
[<package_spec>]
[<restart_spec>]

<instream_columnformat_spec> ::=
INSTREAM [<mediumtype_spec>] '<stream_name>'
[<column_dataformat_spec>] [<start_spec>]

<instream_csv_spec> ::=
INSTREAM [<mediumtype_spec>] '<stream_name>'
[CSV [<csv_format_spec> ...]] [<start_spec>]

<instream_ddl_spec> ::=
INSTREAM [<mediumtype_spec>] '<stream_name>' [DDL]

<instream_fwv_spec> ::=
INSTREAM [<mediumtype_spec>] '<stream_name>'
FWV [<fwv_format_spec> ...] [<start_spec>]

<instream_lob_spec> ::=
INSTREAM [FILE] <column_spec> <lob_code_spec>
| INSTREAM [FILE] <column_spec> '<stream_name>' [<lob_code_spec>]

<instream_pages_spec> ::=
INSTREAM [<mediumtype_spec>] '<stream_name>' [PAGES]

<instream_records_spec> ::=
INSTREAM [<mediumtype_spec>] '<stream_name>' RECORDS [<records_format_spec>]

<instream_tableformat_spec> ::=
INSTREAM [<mediumtype_spec>] '<stream_name>' [<table_dataformat_spec>]

<int_spec> ::=
INTEGER HILO
| INTEGER LOHI

<isolation_level_spec> ::=
ISOLATION LEVEL <unsigned_integer>

<literal> ::=
<! SQL Reference Manual !>

<lob_code_spec> ::=
<code_spec>
| BINARY

<map_column_field> ::=
<column_name> <field_spec> <field_function> <null_assign>

<map_field_column> ::=
<column_name> <field_spec> <field_function>

<map_schema_spec> ::=
MAP SCHEMA [<schema_map_name> | <schema_to_schema>,...]

<mediumtype_spec> ::=
FILE
| PIPE
| TAPE [<ebid_spec>]

<noheader_spec> ::=
NOHEADER <unsigned_integer>

<null_assign> ::=
[IF] NULL SET '<literal>'

<null_condition> ::=
NULL [IF] <condition>
| DEFAULT NULL

<null_spec> ::=
NULL '<literal>'

<number_spec> ::=
DECIMAL '/[<digit_grouping_symbol>]/<decimal_symbol>/'

<numerical_functions> ::=
<scale_spec>
| <round_or_trunc_spec>
| <scale_spec> <round_or_trunc_spec>

<order_clause> ::=
ORDER BY <column_name>,...

<outstream_columnformat_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<stream_name>'
[<column_dataformat_spec>] [<start_spec>]

<outstream_csv_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<stream_name>'
[CSV [<csv_format_spec> ...]] [<start_spec>]

<outstream_ddl_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<stream_name>' [DDL]

<outstream_fwv_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<stream_name>'
FWV [<fwv_format_spec> ...] [<start_spec>]

<outstream_lob_spec> ::=
OUTSTREAM [FILE] <column_spec> '<stream_name>' [<lob_code_spec>]

<outstream_pages_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<stream_name>' [PAGES]

<outstream_records_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<stream_name>' RECORDS [<records_format_spec>]

<outstream_tableformat_spec> ::=
OUTSTREAM [<mediumtype_spec>] '<stream_name>' [<table_dataformat_spec>]

<package_guid> ::=
<! restart !>

<package_spec> ::=
PACKAGE <outstream_csv_spec>

<password> ::=
<! SQL Reference Manual !>

<protocol_name> ::=
<! USE DB command !>

<records_format_spec> ::=
<field_format_spec> ...

<remark_command> ::=
REMARK "<literal>"

<restart_spec> ::=
RESTART <package_guid>

<round_or_trunc_spec> ::=
ROUND <unsigned_integer>
| TRUNC <unsigned_integer>

<scale_spec> ::=
SCALE <unsigned_integer>

<schema_name> ::=
<identifier>

<schema_map_name> ::=
<identifier>

<schema_to_schema> ::=
<schema_name> TO <schema_name>

<select_expression> ::=
<! <select_statement> without specifying keyword SELECT> !>

<separator> ::=
<character>

<separator_spec> ::=
SEPARATOR '<separator>'

<sequence_number> ::=
SEQNO
| SEQNO <integer>
| SEQNO <integer> <integer>

<set_column_spec> ::=
SET <load_column_spec>

<set_command> ::=
SET
| SET <bool_spec>
| SET <code_page_spec>
| SET <isolation_level_spec>
| SET <null_spec>
| SET <number_spec>
| SET BACKUPTOOL <backup_tool_spec>
| SET CODETYPE <standard_code_spec>
| SET CONFIGURATION <exclude_include>
| SET CSV '/<separator>/<delimiter>/'
| SET CURRENT_SCHEMA = <schema_name>
| SET DATE <standard_date_mask>
| SET FORMAT <standard_date_mask>
| SET MAXERRORCOUNT <unsigned_integer>
| SET TIME <standard_time_mask>
| SET TIMESTAMP <standard_timestamp_mask>
| SET TRANSACTION SIZE <unsigned_integer>

<simple_condition> ::=
POS <field_spec> <field_type> [HEX] <compare_operator> '<literal>'

<sql_mode> ::=
INTERNAL
| ANSI
| DB2
| ORACLE

<sql_mode_command> ::=
SQLMODE <sql_mode>

<standard_code_spec> ::=
ASCII
| UCS2
| UTF8

<standard_date_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA

<standard_time_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA

<standard_timestamp_mask> ::=
EUR
| INTERNAL
| ISO
| JIS
| USA

<start_spec> ::=
START <unsigned_integer> [MAXROWS]
| START <unsigned_integer> [MAXRECORDS]
| START <unsigned_integer> <unsigned_integer>

<stream_name> ::=
<! data stream !>

<table_dataformat_spec> ::=
PAGES
| RECORDS <records_format_spec>

<table_name> ::=
[<schema_name>.]<identifier>

<time_spec> ::=
TIME <standard_time_mask>
| TIME '<free_mask_time>'

<timestamp_spec> ::=
TIMESTAMP <standard_timestamp_mask>
| TIMESTAMP '<free_mask_timestamp>'

<true_value> ::=
<! SET command !>

<unsigned_integer> ::=
<! SQL Reference Manual !>

<update_column_spec> ::=
<map_field_column>
| <column_assignment>

<update_columns_command> ::=
UPDATE COLUMNS TABLE <table_name>
[<if_condition>]
<update_column_spec> ... <set_column_spec> ...
<data_instream_column_spec>

<usage_spec> ::=
RECORDS USAGE
| PAGE WITH <unsigned_integer> % USAGE
| PAGE WITH <unsigned_integer> RECORDS USAGE

<use_database_command> ::=
USE DB <database_spec>

<use_schema_command> ::=
USE SCHEMA <schema_name>

<use_schema_map_command> ::=
USE SCHEMAMAP <schema_map_name>

<use_user_command> ::=
USE USER <user_spec> [SCHEMA <schema_name>] [DB <database_spec>] [<isolation_level_spec>]

<user_spec> ::=
<database_user> <password>