Reserved words and keywords

<< New in Firebird 2.5 | FB 2.5 Language Reference | Miscellaneous language elements >>

Reserved 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.

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.

The following sections present the changes since InterBase 6. Full listings of Firebird 2.5 reserved words and keywords can be found in the Appendix?.

Added since InterBase 6

Newly reserved words

The following reserved words have been added to Firebird:

 BIGINT
 BIT_LENGTH
 BOTH
 CASE
 CLOSE
 CONNECT
 CROSS
 CURRENT_CONNECTION
 CURRENT_ROLE
 CURRENT_TRANSACTION
 CURRENT_USER
 DISCONNECT
 FETCH
 GLOBAL
 INSENSITIVE
 LEADING
 LOWER
 OPEN
 RECREATE
 RECURSIVE
 ROW_COUNT
 ROWS
 SAVEPOINT
 SENSITIVE
 SIMILAR
 SQLSTATE (2.5.1)
 START
 TRAILING
 TRIM

New non-reserved keywords

The following words have been added to Firebird as non-reserved keywords. More than half of them are names of internal functions added between 2.0 and 2.1.

 ABS
 ACCENT
 ACOS
 ALWAYS
 ASCII_CHAR
 ASCII_VAL
 ASIN
 ATAN
 ATAN2
 AUTONOMOUS
 BACKUP
 BIN_AND
 BIN_OR
 BIN_NOT
 BIN_SHL
 BIN_SHR
 BIN_XOR
 BLOCK
 BREAK
 CALLER
 CEIL
 CEILING
 CHAR_TO_UUID
 COALESCE
 COLLATION
 COMMENT
 COMMON
 COS
 COSH
 COT
 DATA
 DATEADD
 DATEDIFF
 DECODE
 DELETING
 DIFFERENCE
 EXP
 FIRST
 FIRSTNAME
 FLOOR
 GEN_UUID
 GENERATED
 GRANTED
 HASH
 IIF
 INSERTING
 LAST
 LASTNAME
 LEAVE
 LIST
 LN
 LOCK
 LOG
 LOG10
 LPAD
 MAPPING
 MATCHED
 MATCHING
 MAXVALUE
 MIDDLENAME
 MILLISECOND
 MINVALUE
 MOD
 NEXT
 NULLIF
 NULLS
 OS_NAME
 OVERLAY
 PAD
 PI
 PLACING
 POWER
 PRESERVE
 RAND
 REPLACE
 RESTART
 RETURNING
 REVERSE
 ROUND
 RPAD
 SCALAR_ARRAY
 SEQUENCE
 SIGN
 SIN
 SINH
 SKIP
 SOURCE
 SPACE
 SQRT
 SUBSTRING
 TAN
 TANH
 TEMPORARY
 TRUNC
 TWO_PHASE
 WEEK
 UPDATING
 UUID_TO_CHAR

Dropped since InterBase 6

No longer reserved, still keywords

The following words are no longer reserved in Firebird 2.5, but are still recognized as keywords:

 ACTION
 ACTIVE
 AFTER
 ASC
 ASCENDING
 AUTO
 BEFORE
 CASCADE
 COLLATION
 COMMITTED
 COMPUTED
 CONDITIONAL
 CONTAINING
 CSTRING
 DATABASE
 DESC
 DESCENDING
 DESCRIPTOR
 DO
 DOMAIN
 ENTRY_POINT
 EXCEPTION
 EXIT
 FILE
 FREE_IT
 GEN_ID
 GENERATOR
 IF
 INACTIVE
 INPUT_TYPE
 ISOLATION
 KEY
 LENGTH
 LEVEL
 MANUAL
 MODULE_NAME
 NAMES
 OPTION
 OUTPUT_TYPE
 OVERFLOW
 PAGE
 PAGE_SIZE
 PAGES
 PASSWORD
 PRIVILEGES
 PROTECTED
 READ
 RESERV
 RESERVING
 RESTRICT
 RETAIN
 ROLE
 SCHEMA
 SEGMENT
 SHADOW
 SHARED
 SINGULAR
 SIZE
 SNAPSHOT
 SORT
 STABILITY
 STARTING
 STARTS
 STATEMENT
 STATISTICS
 SUB_TYPE
 SUSPEND
 TRANSACTION
 TYPE
 UNCOMMITTED
 WAIT
 WEEKDAY
 WORK
 WRITE
 YEARDAY

No longer reserved, not keywords

The following words are no longer reserved in Firebird 2.5, and not keywords either:

 AUTODDL
 BASE_NAME
 BASED
 BASENAME
 BLOBEDIT
 BUFFER
 CACHE
 CHECK_POINT_LEN
 CHECK_POINT_LENGTH
 COMPILETIME
 CONTINUE
 DB_KEY
 DEBUG
 DESCRIBE
 DISPLAY
 ECHO
 EDIT
 EVENT
 EXTERN
 FOUND
 GOTO
 GROUP_COMMIT_
 GROUP_COMMIT_WAIT
 HELP
 IMMEDIATE
 INDICATOR
 INIT
 INPUT
 ISQL
 LC_MESSAGES
 LC_TYPE
 LEV
 LOG_BUF_SIZE
 LOG_BUFFER_SIZE
 LOGFILE
 MAX_SEGMENT
 MAXIMUM
 MESSAGE
 MINIMUM
 NOAUTO
 NUM_LOG_BUFFERS
 NUM_LOG_BUFS
 OUTPUT
 PAGELENGTH
 PREPARE
 PUBLIC
 QUIT
 RAW_PARTITIONS
 RETURN
 RUNTIME
 SHELL
 SHOW
 SQLERROR
 SQLWARNING
 STATIC
 TERMINATOR
 TRANSLATE
 TRANSLATION
 VERSION
 WAIT_TIME
 WHENEVER

Some of these words still have a special meaning in ESQL and/or ISQL.

Possibly reserved in future versions

The following words are not reserved in Firebird 2.5, but are better avoided as identifiers because they will likely be reserved or added as keywords in future versions:

 BOOLEAN
 FALSE
 TRUE
 UNKNOWN

back to top of page
<< New in Firebird 2.5 | FB 2.5 Language Reference | Miscellaneous language elements >>