meta data for this page
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