FirebirdSQL logo

Background to Firebird’s SQL Language

To begin, a few points about some characteristics of Firebird’s SQL implementation.

SQL Flavours

Distinct subsets of SQL apply to different areas of activity.The SQL subsets in Firebird’s language implementation are:

DSQL

Dynamic SQL

PSQL

Procedural SQL

ESQL

Embedded SQL

ISQL

Interactive SQL

Dynamic SQL is the major part of the language which corresponds to Part 2 (SQL/Foundation) of the SQL specification.DSQL represents statements passed by client applications through the public Firebird API and processed by the database engine.

Procedural SQL augments Dynamic SQL to allow compound statements containing local variables, assignments, conditions, loops and other procedural constructs.PSQL corresponds to Part 4 (SQL/PSM) of the SQL specifications.PSQL extensions are available in persistent stored modules (procedures, functions and triggers), and in Dynamic SQL as well (see EXECUTE BLOCK).

Embedded SQL is the SQL subset supported by Firebird gpre, the application which allows you to embed SQL constructs into your host programming language (C, C++, Pascal, Cobol, etc.) and preprocess those embedded constructs into the proper Firebird API calls.

Note

Only a subset of the statements and expressions implemented in DSQL are supported in ESQL.

Interactive ISQL refers to the language that can be executed using Firebird isql, the command-line application for accessing databases interactively.As a regular client application, its native language is DSQL.It also offers a few additional commands that are not available outside its specific environment.

Both DSQL and PSQL subsets are completely presented in this reference.Neither ESQL nor ISQL flavours are described here unless mentioned explicitly.

For ISQL, consult the manualFirebird Interactive SQL Utility.