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