Appendix CReserved Words and Keywords

Reserved words are part of the Firebird SQL language. They cannot be used as identifiers (e.g. as table or procedure names), except when enclosed in double quotes in Dialect 3. However, you should avoid this unless you have a compelling reason.

Non-reserved keywords are also part of the language. They have a special meaning when used in the proper context, but they are not reserved for Firebird’s own and exclusive use. You can use them as identifiers without double-quoting.

Since Firebird 5.0, the reserved words and keywords can be queried from the virtual table Section D.21, “RDB$KEYWORDS.

C.1Reserved words

Full list of reserved words in Firebird 5.0:

ADD

ADMIN

ALL

ALTER

AND

ANY

AS

AT

AVG

BEGIN

BETWEEN

BIGINT

BINARY

BIT_LENGTH

BLOB

BOOLEAN

BOTH

BY

CASE

CAST

CHAR

CHARACTER

CHARACTER_LENGTH

CHAR_LENGTH

CHECK

CLOSE

COLLATE

COLUMN

COMMENT

COMMIT

CONNECT

CONSTRAINT

CORR

COUNT

COVAR_POP

COVAR_SAMP

CREATE

CROSS

CURRENT

CURRENT_CONNECTION

CURRENT_DATE

CURRENT_ROLE

CURRENT_TIME

CURRENT_TIMESTAMP

CURRENT_TRANSACTION

CURRENT_USER

CURSOR

DATE

DAY

DEC

DECFLOAT

DECIMAL

DECLARE

DEFAULT

DELETE

DELETING

DETERMINISTIC

DISCONNECT

DISTINCT

DOUBLE

DROP

ELSE

END

ESCAPE

EXECUTE

EXISTS

EXTERNAL

EXTRACT

FALSE

FETCH

FILTER

FLOAT

FOR

FOREIGN

FROM

FULL

FUNCTION

GDSCODE

GLOBAL

GRANT

GROUP

HAVING

HOUR

IN

INDEX

INNER

INSENSITIVE

INSERT

INSERTING

INT

INT128

INTEGER

INTO

IS

JOIN

LATERAL

LEADING

LEFT

LIKE

LOCAL

LOCALTIME

LOCALTIMESTAMP

LONG

LOWER

MAX

MERGE

MIN

MINUTE

MONTH

NATIONAL

NATURAL

NCHAR

NO

NOT

NULL

NUMERIC

OCTET_LENGTH

OF

OFFSET

ON

ONLY

OPEN

OR

ORDER

OUTER

OVER

PARAMETER

PLAN

POSITION

POST_EVENT

PRECISION

PRIMARY

PROCEDURE

PUBLICATION

RDB$DB_KEY

RDB$ERROR

RDB$GET_CONTEXT

RDB$GET_TRANSACTION_CN

RDB$RECORD_VERSION

RDB$ROLE_IN_USE

RDB$SET_CONTEXT

RDB$SYSTEM_PRIVILEGE

REAL

RECORD_VERSION

RECREATE

RECURSIVE

REFERENCES

REGR_AVGX

REGR_AVGY

REGR_COUNT

REGR_INTERCEPT

REGR_R2

REGR_SLOPE

REGR_SXX

REGR_SXY

REGR_SYY

RELEASE

RESETTING

RETURN

RETURNING_VALUES

RETURNS

REVOKE

RIGHT

ROLLBACK

ROW

ROWS

ROW_COUNT

SAVEPOINT

SCROLL

SECOND

SELECT

SENSITIVE

SET

SIMILAR

SMALLINT

SOME

SQLCODE

SQLSTATE

START

STDDEV_POP

STDDEV_SAMP

SUM

TABLE

THEN

TIME

TIMESTAMP

TIMEZONE_HOUR

TIMEZONE_MINUTE

TO

TRAILING

TRIGGER

TRIM

TRUE

UNBOUNDED

UNION

UNIQUE

UNKNOWN

UPDATE

UPDATING

UPPER

USER

USING

VALUE

VALUES

VARBINARY

VARCHAR

VARIABLE

VARYING

VAR_POP

VAR_SAMP

VIEW

WHEN

WHERE

WHILE

WINDOW

WITH

WITHOUT

YEAR