SQL Reserved Words
 
SQL Reserved Words
Supported PSQL Reserved Words
Reserved words are SQL keywords and other symbols that have special meanings when they are processed by the Relational Engine. Reserved words are not recommended for use as database, table, column, variable or other object names. If a reserved word is used as an object name, it must be enclosed in double-quotes to notify the Relational Engine that the word is not being used as a keyword in the given context.
You can avoid having to worry about reserved words by always enclosing user-defined object names in double-quotes.
This appendix contains the following topic:
Reserved Words
Words to Avoid
Reserved Words
Each of the symbols or words listed below has a special meaning when processed by the Relational Engine unless it is delimited by double quotation marks. Using one of these words as a table or object name without the quotation marks will cause an error.
See also the next section, Words to Avoid.
Symbols
#
;
:
@
A
ABORT
ACCELERATED
ADD
AFTER
ALL
ALTER
AND
ANSI-PADDING
ANY
AS
ASC
ATOMIC
AVG
 
 
B
BEFORE
BEGIN
BETWEEN
BORDER
BY
 
C
CALL
CACHED_PROCEDURES
CASCADE
CASE
CAST
CHECK
CLOSE
COALESCE
COLLATE
COLUMN
COMMIT
COMMITTED
CONSTRAINT
CONVERT
COUNT
CREATE
CREATESP
CREATETAB
CREATEVIEW
CROSS
CS
CURDATE
CURRENT
CURSOR
CURTIME
 
 
D
DATA_PATH
DATABASE
DATETIMEMILLISECONDS
DBO
DBSEC_AUTHENTICATION
DBSEC_AUTHORIZATION
DCOMPRESS
DDF
DECIMALSEPARATORCOMMA
DECLARE
DEFAULT
DEFAULTCOLLATE
DELETE
DENY
DESC
DIAGNOSTICS
DICTIONARY
DICTIONARY_PATH
DISTINCT
DO
DROP
DSN
 
 
E
EACH
ELSE
ENCODING
END
ENFORCED
EX
EXCLUSIVE
EXEC
EXECUTE
EXISTING
EXISTS
EXPR
F
FETCH
FILES
FN
FOR
FOREIGN
FROM
FULL
FUNCTION
 
G
GLOBAL_QRYPLAN
GRANT
GROUP
H
HANDLER
HAVING
 
I
IF
IN
INDEX
INNER
INOUT
INSERT
INTEGRITY
INTERNAL
INTO
IS
ISOLATION
 
J
JOIN
K
KEY
L
LEAVE
LEFT
LEGACYOWNERNAME
LEVEL
LIKE
LIMIT
LINKDUP
LOGIN
LOOP
M
MAX
MIN
MODE
MODIFIABLE
MODIFY
 
N
NEW
NEXT
NO
NO_REFERENTIAL_INTEGRITY
NORMAL
NOT
NOW
NULL
 
O
OF
OFF
OFFSET
OLD
ON
ONLY
OPEN
OPTINNERJOIN
OR
ORDER
OUT
OUTER
OWNER
 
 
P
PAGESIZE
PARTIAL
PASSWORD
PCOMPRESS
PRED
PRIMARY
PRINT
PROCEDURE
PROCEDURES_CACHE
PSQL_MOVE
PSQL_PHYSICAL
PSQL_POSITION
PUBLIC
 
 
Q
QRYPLAN
QRYPLANOUTPUT
 
R
READ
REFERENCES
REFERENCING
RELATIONAL
RELEASE
RENAME
REPEAT
REPEATABLE
REPLACE
RESTRICT
RETURN
RETURNS
REUSE_DDF
REVERSE
REVOKE
RIGHT
ROLLBACK
ROW
ROWCOUNT
ROWCOUNT2
 
S
SAVEPOINT
SECURITY
SELECT
SERIALIZABLE
SESSIONID
SET
SIGNAL
SIZE
SPID
SQLSTATE
SSP_EXPR
SSP_PRED
START
STDEV
SUM
SVBEGIN
SVEND
 
T
T
TABLE
THEN
TO
TOP
TRANSACTION
TRIGGER
TRIGGERSTAMPMISC
TRUEBITCREATE
TRUENULLCREATE
TRY_CAST
TS
U
UNCOMMITTED
UNION
UNIQUE
UNIQUEIDENTIFIER
UNTIL
UPDATE
USER
USING
 
V
V1_METADATA
V2_METADATA
VALUES
VIEW
 
 
W
WHEN
WHERE
WHILE
WITH
WORK
WRITE
 
Words to Avoid
The following table lists keywords from the SQL-92 and SQL-99 ANSI standards, as well as additional keywords recognized by PSQL. We recommend you avoid using these words as names for tables, columns, or other objects unless you enclose them in double quotation marks. Actian Corporation reserves the right to add support for any of these keywords as well as any future ANSI SQL keywords in future releases, which would then cause them to be included in this list.
If you use double quotation marks to delimit all table, column, and user-defined object names, then you do not need to worry about possible future conflicts with reserved words.
See also the topic Reserved Words.
Table 127 Words to Avoid as User-Defined Names  
ABSOLUTE
ACTION
ADD
ALL
ALLOCATE
ALTER
AND
ANY
ARE
AS
ASC
ASSERTION
AT
AUTHORIZATION
AVG
BEGIN
BETWEEN
BIGIDENTITY
BIT
BIT_LENGTH
BOTH
BY
CASCADE
CASCADED
CASE
CAST
CATALOG
CHAR
CHARACTER
CHAR_LENGTH
CHARACTER_LENGTH
CHECK
CLOSE
COALESCE
COLLATE
COLLATION
COLUMN
COMMIT
CONNECT
CONNECTION
CONSTRAINT
CONSTRAINTS
CONTINUE
CONVERT
CORRESPONDING
COUNT
CREATE
CROSS
CURRENT
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATE
DAY
DEALLOCATE
DEC
DECIMAL
DECLARE
DEFAULT
DEFERRABLE
DEFERRED
DELETE
DESC
DESCRIBE
DESCRIPTOR
DIAGNOSTICS
DISCONNECT
DISTINCT
DOMAIN
DOUBLE
DROP
ELSE
END
END-EXEC
ESCAPE
EXCEPT
EXCEPTION
EXEC
EXECUTE
EXISTS
EXTERNAL
EXTRACT
FALSE
FETCH
FIRST
FLOAT
FOR
FOREIGN
FOUND
FROM
FULL
FUNCTION
GET
GLOBAL
GO
GOTO
GRANT
GROUP
HAVING
HOUR
IDENTITY
IMMEDIATE
IN
INDICATOR
INITIALLY
INNER
INPUT
INSENSITIVE
INSERT
INT
INTEGER
INTERSECT
INTERVAL
INTO
IS
ISOLATION
JOIN
KEY
LANGUAGE
LAST
LEADING
LEFT
LEVEL
LIKE
LIMIT
LOCAL
LOWER
MASK
MATCH
MAX
MIN
MINUTE
MODULE
MONTH
NAMES
NATIONAL
NATURAL
NCHAR
NEXT
NO
NOT
NLONGVARCHAR
NULL
NULLIF
NUMERIC
NVARCHAR
OCTET_LENGTH
OF
OFFSET
ON
ONLY
OPEN
OPTION
OR
ORDER
OUTER
OUTPUT
OVERLAPS
PAD
PARTIAL
PASSWORD
POSITION
PRECISION
PREPARE
PRESERVE
PRIMARY
PRIOR
PRIVILEGES
PROCEDURE
PUBLIC
READ
REAL
REFERENCES
RELATIVE
RESTRICT
REVERSE
REVOKE
RIGHT
ROLLBACK
ROWS
SCHEMA
SCROLL
SECOND
SECTION
SELECT
SESSION
SESSION_USER
SET
SIZE
SMALLIDENTITY
SMALLINT
SOME
SPACE
SQL
SQLCODE
SQLERROR
SQLSTATE
STDEV
SUBSTRING
SUM
SYSTEM_USER
TABLE
TEMPORARY
THEN
TIME
TIMESTAMP
TIMEZONE_HOUR
TIMEZONE_MINUTE
TO
TRAILING
TRANSACTION
TRANSLATE
TRANSLATION
TRIM
TRUE
TRY_CAST
UNION
UNIQUE
UNKNOWN
UPDATE
UPPER
USAGE
USER
USING
VALUE
VALUES
VARCHAR
VARYING
VIEW
WHEN
WHENEVER
WHERE
WITH
WORK
WRITE
YEAR
ZONE