Syntax

Click to skip syntax diagram
Read syntax diagramSkip visual syntax diagram>>-DECLARE GLOBAL TEMPORARY TABLE--table-name------------------->
 
        .-,------------------------------------------.
        V                                            |
>--+-(----+-column-definition----------------------+-+--)-+----->
   |      '-LIKE--+-table-name-+--+--------------+-'      |
   |              '-view-name--'  '-copy-options-'        |
   +-LIKE--+-table-name-+--+--------------+---------------+
   |       '-view-name--'  '-copy-options-'               |
   '-as-subquery-clause-----------------------------------'
 
   .-----------------------------------------------.
   V                                               | (1)
>----+-WITH REPLACE------------------------------+-+------------>
     | .-ON COMMIT DELETE ROWS---.               |
     +-+-------------------------+---------------+
     | '-ON COMMIT PRESERVE ROWS-'               |
     |             .-ON ROLLBACK DELETE ROWS---. |
     '-NOT LOGGED--+---------------------------+-'
                   '-ON ROLLBACK PRESERVE ROWS-'
 
>--+---------------------+-------------------------------------><
   '-RCDFMT--format-name-'
 
column-definition:
 
|--column-name--+-------------------------------------+--------->
                |      .-COLUMN-.                     |
                '-FOR--+--------+--system-column-name-'
 
>--data-type---------------------------------------------------->
 
   .-----------------------------------------------------.
   V                                                     | (1)
>----+-------------------------------------------------+-+-------|
     +-+-default-clause------------------------------+-+
     | +-GENERATED--+-ALWAYS-----+--identity-options-+ |
     | |            '-BY DEFAULT-'                   | |
     | '-NOT NULL------------------------------------' |
     |                  (2)                            |
     '-datalink-options--------------------------------'
 
data-type:
 
|--+-built-in-type------+---------------------------------------|
   '-distinct-type-name-'
 
Notes:
  1. The same clause must not be specified more than once.
  2. The datalink-options can only be specified for DATALINKs and distinct-types sourced on DATALINKs.
Read syntax diagramSkip visual syntax diagrambuilt-in-type:
 
|--+-+---SMALLINT---+-----------------------------------------------------------------------------------------------+--|
   | +-+-INTEGER-+--+                                                                                               |
   | | '-INT-----'  |                                                                                               |
   | '---BIGINT-----'                                                                                               |
   |                  .-(5,0)------------------------.                                                              |
   +-+-+-DECIMAL-+-+--+------------------------------+--------------------------------------------------------------+
   | | '-DEC-----' |  |             .-,0--------.    |                                                              |
   | '-NUMERIC-----'  '-(--integer--+-----------+--)-'                                                              |
   |                                '-, integer-'                                                                   |
   |          .-(--52--)------.                                                                                     |
   +-+-FLOAT--+---------------+-+-----------------------------------------------------------------------------------+
   | |        '-(--integer--)-' |                                                                                   |
   | +-REAL---------------------+                                                                                   |
   | |         .-PRECISION-.    |                                                                                   |
   | '-DOUBLE--+-----------+----'                                                                                   |
   |                    .-(--1--)-------.                                                                           |
   +-+-+-+-CHARACTER-+--+---------------+-------------------------------+--+----------------+---------------------+-+
   | | | '-CHAR------'  '-(--integer--)-'                               |  +-FOR BIT DATA---+                     | |
   | | '-+-+-CHARACTER-+--VARYING-+--(--integer--)--+-----------------+-'  +-FOR SBCS DATA--+                     | |
   | |   | '-CHAR------'          |                 '-allocate-clause-'    +-FOR MIXED DATA-+                     | |
   | |   '-VARCHAR----------------'                                        '-ccsid-clause---'                     | |
   | |                                          .-(--1M--)-------------.                                          | |
   | '-----+-+-CHARACTER-+--LARGE OBJECT-+------+----------------------+--+-----------------+--+----------------+-' |
   |       | '-CHAR------'               |      '-(--integer--+---+--)-'  '-allocate-clause-'  +-FOR SBCS DATA--+   |
   |       '-CLOB------------------------'                    +-K-+                            +-FOR MIXED DATA-+   |
   |                                                          +-M-+                            '-ccsid-clause---'   |
   |                                                          '-G-'                                                 |
   |                .-(--1--)-------.                                                                               |
   +-+---GRAPHIC----+---------------+----------------------------+--+--------------+--------------------------------+
   | |              '-(--integer--)-'                            |  '-ccsid-clause-'                                |
   | +-+-GRAPHIC VARYING-+--(--integer--)--+-----------------+---+                                                  |
   | | '-VARGRAPHIC------'                 '-allocate-clause-'   |                                                  |
   | |             .-(--1M--)-------------.                      |                                                  |
   | '---DBCLOB----+----------------------+--+-----------------+-'                                                  |
   |               '-(--integer--+---+--)-'  '-allocate-clause-'                                                    |
   |                             +-K-+                                                                              |
   |                             +-M-+                                                                              |
   |                             '-G-'                                                                              |
   |             .-(--1--)-------.                                                                                  |
   +-+-+-BINARY--+---------------+------------------------------+-----------------+---------------------------------+
   | | |         '-(--integer--)-'                              |                 |                                 |
   | | '-+-BINARY VARYING-+--(--integer--)--+-----------------+-'                 |                                 |
   | |   '-VARBINARY------'                 '-allocate-clause-'                   |                                 |
   | |                              .-(--1M--)-------------.                      |                                 |
   | '---+-BLOB----------------+----+----------------------+--+-----------------+-'                                 |
   |     '-BINARY LARGE OBJECT-'    '-(--integer--+---+--)-'  '-allocate-clause-'                                   |
   |                                              +-K-+                                                             |
   |                                              +-M-+                                                             |
   |                                              '-G-'                                                             |
   +-+-DATE------+--------------------------------------------------------------------------------------------------+
   | +-TIME------+                                                                                                  |
   | '-TIMESTAMP-'                                                                                                  |
   |             .-(--200--)-----.                                                                                  |
   '---DATALINK--+---------------+--+-----------------+--+--------------+-------------------------------------------'
                 '-(--integer--)-'  '-allocate-clause-'  '-ccsid-clause-'
 
ccsid-clause:
 
                   .-NOT NORMALIZED-.
|--CCSID--integer--+----------------+---------------------------|
                   '-NORMALIZED-----'
 
allocate-clause:
 
|--ALLOCATE--(integer)------------------------------------------|
 
Read syntax diagramSkip visual syntax diagramdefault-clause:
 
   .-WITH-.
|--+------+--DEFAULT--+-------------------------------------------------+--|
                      +-constant----------------------------------------+
                      +-USER--------------------------------------------+
                      +-NULL--------------------------------------------+
                      +-CURRENT_DATE------------------------------------+
                      +-CURRENT_TIME------------------------------------+
                      +-CURRENT_TIMESTAMP-------------------------------+
                      '-cast-function-name--(--+-constant----------+--)-'
                                               +-USER--------------+
                                               +-CURRENT_DATE------+
                                               +-CURRENT_TIME------+
                                               '-CURRENT_TIMESTAMP-'
 
identity-options:
 
|--AS IDENTITY--+-------------------------------------------------------+--|
                |    .-,-------------------------------------------.    |
                |    V               .-1----------------.     (1)  |    |
                '-(----+-START WITH--+-numeric-constant-+---+------+--)-'
                       |               .-1----------------. |
                       +-INCREMENT BY--+-numeric-constant-+-+
                       | .-NO MINVALUE----------------.     |
                       +-+-MINVALUE--numeric-constant-+-----+
                       | .-NO MAXVALUE----------------.     |
                       +-+-MAXVALUE--numeric-constant-+-----+
                       | .-NO CYCLE-.                       |
                       +-+-CYCLE----+-----------------------+
                       | .-CACHE--20------.                 |
                       +-+-NO CACHE-------+-----------------+
                       | '-CACHE--integer-'                 |
                       | .-NO ORDER-.                       |
                       '-+-ORDER----+-----------------------'
 
Notes:
  1. The same clause must not be specified more than once.
Read syntax diagramSkip visual syntax diagramdatalink-options:
 
   .-LINKTYPE URL-.  .-NO LINK CONTROL-.
|--+--------------+--+-----------------+------------------------|
 
copy-options:
 
                           .-COLUMN ATTRIBUTES-.                 .-COLUMN-.               (1)
|----+-EXCLUDING IDENTITY--+-------------------+-+--+-EXCLUDING--+--------+--DEFAULTS-+---------|
     |                     .-COLUMN ATTRIBUTES-. |  |            .-COLUMN-.           |
     '-INCLUDING IDENTITY--+-------------------+-'  +-INCLUDING--+--------+--DEFAULTS-+
                                                    '-USING TYPE DEFAULTS-------------'
 
as-subquery-clause:
 
|--+----------------------------------------------------------------+-->
   |    .------------------------------------------------------.    |
   |    V                                                      |    |
   '-(----column-name--+-------------------------------------+-+--)-'
                       |      .-COLUMN-.                     |
                       '-FOR--+--------+--system-column-name-'
 
>--AS--(--select-statement--)--+-WITH NO DATA-+--+--------------+--|
                               '-WITH DATA----'  '-copy-options-'
 
Notes:
  1. The clauses can be specified in any order.