DB2 10.5 for Linux, UNIX, and Windows

Reserved schema names and reserved words

There are restrictions on the use of certain names that are required by the database manager.

In some cases, names are reserved, and cannot be used by application programs. In other cases, certain names are not recommended for use by application programs, although their use is not prevented by the database manager.
The reserved schema names are:
  • SYSCAT
  • SYSFUN
  • SYSIBM
  • SYSIBMADM
  • SYSPROC
  • SYSPUBLIC
  • SYSSTAT

It is strongly recommended that schema names never begin with the 'SYS' prefix, because 'SYS', by convention, is used to indicate an area that is reserved by the system. No aliases, global variables, triggers, user-defined functions, or user-defined types can be placed into a schema whose name starts with 'SYS' (SQLSTATE 42939).

The DB2QP schema and the SYSTOOLS schema are set aside for utilities used by the database. It is recommended that users not explicitly define objects in these schemas, although their use is not prevented by the database manager.

It is recommended that schema names never begin with the 'Q' prefix, because on other DB2® database managers 'Q', by convention, is used to indicate an area reserved by the system.

It is also recommended that SESSION not be used as a schema name. Because declared temporary tables must be qualified by SESSION, it is possible to have an application declare a temporary table with a name that is identical to that of a persistent table, complicating the application logic. To avoid this possibility, do not use the schema SESSION except when dealing with declared temporary tables.

Keywords can be used as ordinary identifiers, except in a context where they could also be interpreted as SQL keywords. In such cases, the word must be specified as a delimited identifier. For example, COUNT cannot be used as a column name in a SELECT statement, unless it is delimited.

ISO/ANSI SQL2003 and other IBM® database products include reserved words that are not enforced by DB2 Database for Linux, UNIX, and Windows; however, it is recommended that these words not be used as ordinary identifiers, because it reduces portability.

For portability across the IBM database products, the following words should be considered reserved words:


ACTIVATE           DOUBLE          LOCATORS            ROLLBACK     
ADD                DROP            LOCK                ROUND_CEILING    
AFTER              DSSIZE          LOCKMAX             ROUND_DOWN         
ALIAS              DYNAMIC         LOCKSIZE            ROUND_FLOOR        
ALL                EACH            LONG                ROUND_HALF_DOWN    
ALLOCATE           EDITPROC        LOOP                ROUND_HALF_EVEN    
ALLOW              ELSE            MAINTAINED          ROUND_HALF_UP      
ALTER              ELSEIF          MATERIALIZED        ROUND_UP           
AND                ENABLE          MAXVALUE            ROUTINE            
ANY                ENCODING        MICROSECOND         ROW                
AS                 ENCRYPTION      MICROSECONDS        ROWNUMBER          
ASENSITIVE         END             MINUTE              ROWS               
ASSOCIATE          END-EXEC        MINUTES             ROWSET             
ASUTIME            ENDING          MINVALUE            ROW_NUMBER         
AT                 ERASE           MODE                RRN                
ATTRIBUTES         ESCAPE          MODIFIES            RUN                
AUDIT              EVERY           MONTH               SAVEPOINT          
AUTHORIZATION      EXCEPT          MONTHS              SCHEMA             
AUX                EXCEPTION       NAN                 SCRATCHPAD         
AUXILIARY          EXCLUDING       NEW                 SCROLL             
BEFORE             EXCLUSIVE       NEW_TABLE           SEARCH             
BEGIN              EXECUTE         NEXTVAL             SECOND             
BETWEEN            EXISTS          NO                  SECONDS            
BINARY             EXIT            NOCACHE             SECQTY             
BUFFERPOOL         EXPLAIN         NOCYCLE             SECURITY           
BY                 EXTENDED        NODENAME            SELECT             
CACHE              EXTERNAL        NODENUMBER          SENSITIVE          
CALL               EXTRACT         NOMAXVALUE          SEQUENCE           
CALLED             FENCED          NOMINVALUE          SESSION            
CAPTURE            FETCH           NONE                SESSION_USER       
CARDINALITY        FIELDPROC       NOORDER             SET                
CASCADED           FILE            NORMALIZED          SIGNAL             
CASE               FINAL           NOT                 SIMPLE             
CAST               FOR             NULL                SNAN               
CCSID              FOREIGN         NULLS               SOME               
CHAR               FREE            NUMPARTS            SOURCE             
CHARACTER          FROM            OBID                SPECIFIC           
CHECK              FULL            OF                  SQL                
CLONE              FUNCTION        OFFSET              SQLID              
CLOSE              GENERAL         OLD                 STACKED            
CLUSTER            GENERATED       OLD_TABLE           STANDARD           
COLLECTION         GET             ON                  START              
COLLID             GLOBAL          OPEN                STARTING           
COLUMN             GO              OPTIMIZATION        STATEMENT          
COMMENT            GOTO            OPTIMIZE            STATIC             
COMMIT             GRANT           OPTION              STATMENT           
CONCAT             GRAPHIC         OR                  STAY               
CONDITION          GROUP           ORDER               STOGROUP           
CONNECT            HANDLER         OUT                 STORES             
CONNECTION         HASH            OUTER               STYLE              
CONSTRAINT         HASHED_VALUE    OVER                SUBSTRING          
CONTAINS           HAVING          OVERRIDING          SUMMARY            
CONTINUE           HINT            PACKAGE             SYNONYM            
COUNT              HOLD            PADDED              SYSFUN             
COUNT_BIG          HOUR            PAGESIZE            SYSIBM             
CREATE             HOURS           PARAMETER           SYSPROC            
CROSS              IDENTITY        PART                SYSTEM             
CURRENT            IF              PARTITION           SYSTEM_USER        
CURRENT_DATE       IMMEDIATE       PARTITIONED         TABLE              
CURRENT_LC_CTYPE   IN              PARTITIONING        TABLESPACE         
CURRENT_PATH       INCLUDING       PARTITIONS          THEN               
CURRENT_SCHEMA     INCLUSIVE       PASSWORD            TIME               
CURRENT_SERVER     INCREMENT       PATH                TIMESTAMP          
CURRENT_TIME       INDEX           PIECESIZE           TO                 
CURRENT_TIMESTAMP  INDICATOR       PLAN                TRANSACTION        
CURRENT_TIMEZONE   INDICATORS      POSITION            TRIGGER            
CURRENT_USER       INF             PRECISION           TRIM               
CURSOR             INFINITY        PREPARE             TRUNCATE           
CYCLE              INHERIT         PREVVAL             TYPE               
DATA               INNER           PRIMARY             UNDO               
DATABASE           INOUT           PRIQTY              UNION              
DATAPARTITIONNAME  INSENSITIVE     PRIVILEGES          UNIQUE             
DATAPARTITIONNUM   INSERT          PROCEDURE           UNTIL              
DATE               INTEGRITY       PROGRAM             UPDATE             
DAY                INTERSECT       PSID                USAGE              
DAYS               INTO            PUBLIC              USER               
DB2GENERAL         IS              QUERY               USING              
DB2GENRL           ISOBID          QUERYNO             VALIDPROC          
DB2SQL             ISOLATION       RANGE               VALUE              
DBINFO             ITERATE         RANK                VALUES             
DBPARTITIONNAME    JAR             READ                VARIABLE           
DBPARTITIONNUM     JAVA            READS               VARIANT            
DEALLOCATE         JOIN            RECOVERY            VCAT               
DECLARE            KEEP            REFERENCES          VERSION            
DEFAULT            KEY             REFERENCING         VIEW               
DEFAULTS           LABEL           REFRESH             VOLATILE           
DEFINITION         LANGUAGE        RELEASE             VOLUMES            
DELETE             LATERAL         RENAME              WHEN               
DENSERANK          LC_CTYPE        REPEAT              WHENEVER           
DENSE_RANK         LEAVE           RESET               WHERE              
DESCRIBE           LEFT            RESIGNAL            WHILE              
DESCRIPTOR         LIKE            RESTART             WITH               
DETERMINISTIC      LIMIT           RESTRICT            WITHOUT            
DIAGNOSTICS        LINKTYPE        RESULT              WLM                
DISABLE            LOCAL           RESULT_SET_LOCATOR  WRITE              
DISALLOW           LOCALDATE       RETURN              XMLELEMENT         
DISCONNECT         LOCALE          RETURNS             XMLEXISTS          
DISTINCT           LOCALTIME       REVOKE              XMLNAMESPACES      
DO                 LOCALTIMESTAMP  RIGHT               YEAR               
DOCUMENT           LOCATOR         ROLE                YEARS              
The following list contains the ISO/ANSI SQL2003 reserved words that are not in the previous list:
ABS                               GROUPING         REGR_INTERCEPT
ARE                               INT              REGR_R2
ARRAY                             INTEGER          REGR_SLOPE
ASYMMETRIC                        INTERSECTION     REGR_SXX
ATOMIC                            INTERVAL         REGR_SXY
AVG                               LARGE            REGR_SYY
BIGINT                            LEADING          ROLLUP
BLOB                              LN               SCOPE
BOOLEAN                           LOWER            SIMILAR
BOTH                              MATCH            SMALLINT
CEIL                              MAX              SPECIFICTYPE
CEILING                           MEMBER           SQLEXCEPTION
CHAR_LENGTH                       MERGE            SQLSTATE
CHARACTER_LENGTH                  METHOD           SQLWARNING
CLOB                              MIN              SQRT
COALESCE                          MOD              STDDEV_POP
COLLATE                           MODULE           STDDEV_SAMP
COLLECT                           MULTISET         SUBMULTISET
CONVERT                           NATIONAL         SUM
CORR                              NATURAL          SYMMETRIC
CORRESPONDING                     NCHAR            TABLESAMPLE
COVAR_POP                         NCLOB            TIMEZONE_HOUR
COVAR_SAMP                        NORMALIZE        TIMEZONE_MINUTE
CUBE                              NULLIF           TRAILING
CUME_DIST                         NUMERIC          TRANSLATE
CURRENT_DEFAULT_TRANSFORM_GROUP   OCTET_LENGTH     TRANSLATION
CURRENT_ROLE                      ONLY             TREAT
CURRENT_TRANSFORM_GROUP_FOR_TYPE  OVERLAPS         TRUE
DEC                               OVERLAY          UESCAPE
DECIMAL                           PERCENT_RANK     UNKNOWN
DEREF                             PERCENTILE_CONT  UNNEST
ELEMENT                           PERCENTILE_DISC  UPPER
EXEC                              POWER            VAR_POP
EXP                               REAL             VAR_SAMP
FALSE                             RECURSIVE        VARCHAR
FILTER                            REF              VARYING
FLOAT                             REGR_AVGX        WIDTH_BUCKET
FLOOR                             REGR_AVGY        WINDOW
FUSION                            REGR_COUNT       WITHIN