Firebird 3.0 Language Reference
Revision History
1.15 | 26 May 2023 |
Table of Contents
- Chapter 1. About the Firebird 3.0 Language Reference
- Chapter 2. SQL Language Structure
- Chapter 3. Data Types and Subtypes
- 3.1 Integer Data Types
- 3.2 Floating-Point Data Types
- 3.3 Fixed-Point Data Types
- 3.4 Data Types for Dates and Times
- 3.5 Character Data Types
- 3.6 Boolean Data Type
- 3.7 Binary Data Types
- 3.8 Special Data Types
- 3.9 Conversion of Data Types
- 3.10 Custom Data Types — Domains
- 3.11 Data Type Declaration Syntax
- Chapter 4. Common Language Elements
- 4.1 Expressions
- 4.2 Predicates
- 4.2.1 Conditions
- 4.2.2 Comparison Predicates
- 4.2.3 Existential Predicates
- 4.2.4 Quantified Subquery Predicates
- Chapter 5. Data Definition (DDL) Statements
- 5.1
DATABASE
- 5.2
SHADOW
- 5.3
DOMAIN
- 5.4
TABLE
- 5.4.1
CREATE TABLE
- 5.4.1.1 Character Columns
- 5.4.1.2 Setting a
DEFAULT
Value - 5.4.1.3 Domain-based Columns
- 5.4.1.4 Identity Columns (autoincrement)
- 5.4.1.5 Calculated Fields
- 5.4.1.6 Defining an Array Column
- 5.4.1.7 Constraints
- 5.4.1.8 Who Can Create a Table
- 5.4.1.9
CREATE TABLE
Examples - 5.4.1.10 Global Temporary Tables (GTT)
- 5.4.1.11 External Tables
- 5.4.2
ALTER TABLE
- 5.4.2.1 Version Count Increments
- 5.4.2.2 The
ADD
Clause - 5.4.2.3 The
DROP
Clause - 5.4.2.4 The
DROP CONSTRAINT
Clause - 5.4.2.5 The
ALTER [COLUMN]
Clause - 5.4.2.6 Renaming a Column: the
TO
Clause - 5.4.2.7 Changing the Data Type of a Column: the
TYPE
Clause - 5.4.2.8 Changing the Position of a Column: the
POSITION
Clause - 5.4.2.9 The
DROP DEFAULT
andSET DEFAULT
Clauses - 5.4.2.10 The
SET NOT NULL
andDROP NOT NULL
Clauses - 5.4.2.11 The
COMPUTED [BY]
orGENERATED ALWAYS AS
Clauses - 5.4.2.12 Changing Identity Columns
- 5.4.2.13 Attributes that Cannot Be Altered
- 5.4.2.14 Who Can Alter a Table?
- 5.4.2.15 Examples Using
ALTER TABLE
- 5.4.3
DROP TABLE
- 5.4.4
RECREATE TABLE
- 5.4.1
- 5.5
INDEX
- 5.6
VIEW
- 5.7
TRIGGER
- 5.8
PROCEDURE
- 5.9
FUNCTION
- 5.10
EXTERNAL FUNCTION
- 5.11
PACKAGE
- 5.12
PACKAGE BODY
- 5.13
FILTER
- 5.14
SEQUENCE
(GENERATOR
) - 5.15
EXCEPTION
- 5.16
COLLATION
- 5.17
CHARACTER SET
- 5.18 Comments
- 5.1
- Chapter 6. Data Manipulation (DML) Statements
- 6.1
SELECT
- 6.1.1
FIRST
,SKIP
- 6.1.2 The
SELECT
Columns List - 6.1.3 The
FROM
clause - 6.1.4 Joins
- 6.1.5 The
WHERE
clause - 6.1.6 The
GROUP BY
clause - 6.1.7 The
PLAN
clause - 6.1.8
UNION
- 6.1.9
ORDER BY
- 6.1.10
ROWS
- 6.1.11
OFFSET
,FETCH
- 6.1.12
FOR UPDATE [OF]
- 6.1.13
WITH LOCK
- 6.1.14
INTO
- 6.1.15 Common Table Expressions (
)WITH … AS … SELECT
- 6.1.1
- 6.2
INSERT
- 6.3
UPDATE
- 6.4
UPDATE OR INSERT
- 6.5
DELETE
- 6.6
MERGE
- 6.7
EXECUTE PROCEDURE
- 6.8
EXECUTE BLOCK
- 6.1
- Chapter 7. Procedural SQL (PSQL) Statements
- 7.1 Elements of PSQL
- 7.2 Stored Procedures
- 7.3 Stored Functions
- 7.4 PSQL Blocks
- 7.5 Packages
- 7.6 Triggers
- 7.7 Writing the Body Code
- 7.7.1 Assignment Statements
- 7.7.2
DECLARE VARIABLE
- 7.7.3
DECLARE .. CURSOR
- 7.7.4
DECLARE FUNCTION
- 7.7.5
DECLARE PROCEDURE
- 7.7.6
BEGIN … END
- 7.7.7
IF … THEN … ELSE
- 7.7.8
WHILE … DO
- 7.7.9
BREAK
- 7.7.10
LEAVE
- 7.7.11
CONTINUE
- 7.7.12
EXIT
- 7.7.13
SUSPEND
- 7.7.14
EXECUTE STATEMENT
- 7.7.15
FOR SELECT
- 7.7.16
FOR EXECUTE STATEMENT
- 7.7.17
OPEN
- 7.7.18
FETCH
- 7.7.19
CLOSE
- 7.7.20
IN AUTONOMOUS TRANSACTION
- 7.7.21
POST_EVENT
- 7.7.22
RETURN
- 7.8 Trapping and Handling Errors
- Chapter 8. Built-in Scalar Functions
- 8.1 Context Functions
- 8.2 Mathematical Functions
- 8.2.1
ABS()
- 8.2.2
ACOS()
- 8.2.3
ACOSH()
- 8.2.4
ASIN()
- 8.2.5
ASINH()
- 8.2.6
ATAN()
- 8.2.7
ATAN2()
- 8.2.8
ATANH()
- 8.2.9
CEIL()
,CEILING()
- 8.2.10
COS()
- 8.2.11
COSH()
- 8.2.12
COT()
- 8.2.13
EXP()
- 8.2.14
FLOOR()
- 8.2.15
LN()
- 8.2.16
LOG()
- 8.2.17
LOG10()
- 8.2.18
MOD()
- 8.2.19
PI()
- 8.2.20
POWER()
- 8.2.21
RAND()
- 8.2.22
ROUND()
- 8.2.23
SIGN()
- 8.2.24
SIN()
- 8.2.25
SINH()
- 8.2.26
SQRT()
- 8.2.27
TAN()
- 8.2.28
TANH()
- 8.2.29
TRUNC()
- 8.2.1
- 8.3 String Functions
- 8.4 Date and Time Functions
- 8.5 Type Casting Functions
- 8.6 Bitwise Functions
- 8.7 UUID Functions
- 8.8 Functions for Sequences (Generators)
- 8.9 Conditional Functions
- Chapter 9. Aggregate Functions
- Chapter 10. Window (Analytical) Functions
- Chapter 11. Context Variables
- 11.1
CURRENT_CONNECTION
- 11.2
CURRENT_DATE
- 11.3
CURRENT_ROLE
- 11.4
CURRENT_TIME
- 11.5
CURRENT_TIMESTAMP
- 11.6
CURRENT_TRANSACTION
- 11.7
CURRENT_USER
- 11.8
DELETING
- 11.9
GDSCODE
- 11.10
INSERTING
- 11.11
LOCALTIME
- 11.12
LOCALTIMESTAMP
- 11.13
NEW
- 11.14
'NOW'
- 11.15
OLD
- 11.16
ROW_COUNT
- 11.17
SQLCODE
- 11.18
SQLSTATE
- 11.19
'TODAY'
- 11.20
'TOMORROW'
- 11.21
UPDATING
- 11.22
'YESTERDAY'
- 11.23
USER
- 11.1
- Chapter 12. Transaction Control
- 12.1 Transaction Statements
- 12.1.1
SET TRANSACTION
- 12.1.2
COMMIT
- 12.1.3
ROLLBACK
- 12.1.4
SAVEPOINT
- 12.1.5
RELEASE SAVEPOINT
- 12.1.6 Internal Savepoints
- 12.1.7 Savepoints and PSQL
- 12.1.1
- 12.1 Transaction Statements
- Chapter 13. Security
- 13.1 User Authentication
- 13.2 SQL Statements for User Management
- 13.3 SQL Privileges
- 13.4
ROLE
- 13.5 Statements for Granting Privileges
- 13.5.1
GRANT
- 13.5.1.1 The
TO
Clause - 13.5.1.2 The
WITH GRANT OPTION
Clause - 13.5.1.3 The
GRANTED BY
Clause - 13.5.1.4 Privileges on Tables and Views
- 13.5.1.5 The
EXECUTE
Privilege - 13.5.1.6 The
USAGE
Privilege - 13.5.1.7 DDL Privileges
- 13.5.1.8 Database DDL Privileges
- 13.5.1.9 Examples of Granting Database DDL Privileges
- 13.5.1.10 Assigning Roles
- 13.5.1.1 The
- 13.5.1
- 13.6 Statements for Revoking Privileges
- 13.7 Mapping of Users to Objects
- 13.8 Database Encryption
- Chapter 14. Management Statements
- Appendix A. Supplementary Information
- Appendix B. Exception Codes and Messages
- Appendix C. Reserved Words and Keywords
- Appendix D. System Tables
- D.1
RDB$AUTH_MAPPING
- D.2
RDB$BACKUP_HISTORY
- D.3
RDB$CHARACTER_SETS
- D.4
RDB$CHECK_CONSTRAINTS
- D.5
RDB$COLLATIONS
- D.6
RDB$DATABASE
- D.7
RDB$DB_CREATORS
- D.8
RDB$DEPENDENCIES
- D.9
RDB$EXCEPTIONS
- D.10
RDB$FIELDS
- D.11
RDB$FIELD_DIMENSIONS
- D.12
RDB$FILES
- D.13
RDB$FILTERS
- D.14
RDB$FORMATS
- D.15
RDB$FUNCTIONS
- D.16
RDB$FUNCTION_ARGUMENTS
- D.17
RDB$GENERATORS
- D.18
RDB$INDICES
- D.19
RDB$INDEX_SEGMENTS
- D.20
RDB$LOG_FILES
- D.21
RDB$PACKAGES
- D.22
RDB$PAGES
- D.23
RDB$PROCEDURES
- D.24
RDB$PROCEDURE_PARAMETERS
- D.25
RDB$REF_CONSTRAINTS
- D.26
RDB$RELATIONS
- D.27
RDB$RELATION_CONSTRAINTS
- D.28
RDB$RELATION_FIELDS
- D.29
RDB$ROLES
- D.30
RDB$SECURITY_CLASSES
- D.31
RDB$TRANSACTIONS
- D.32
RDB$TRIGGERS
- D.33
RDB$TRIGGER_MESSAGES
- D.34
RDB$TYPES
- D.35
RDB$USER_PRIVILEGES
- D.36
RDB$VIEW_RELATIONS
- D.1
- Appendix E. Monitoring Tables
- Appendix F. Security tables
- Appendix G. Character Sets and Collation Sequences
- Appendix H. License notice
- Appendix I. Document History