Разновидности языка SQL
Версии сервера
0.9 | 1.0 | 1.5.3 | 1.5.4 | 1.5.5 | 2.0 | 2.0.3 | 2.0.4 | 2.1 | 2.5 | 3.0 |
---|---|---|---|---|---|---|---|---|---|---|
Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
Описание
Подмножество языка SQL для SQL-сервера Firebird имеет следующие разновидности:
SQL - это собственно язык SQL, без процедурной части
Procedural SQL (PSQL) - разновидность, применяемая при создании хранимых процедур/триггеров/PSQL-блоков. Имеет управляющие структуры FOR, WHILE, IF.
Dynamic SQL (DSQL) - механизм динамических запросов, не скомпилированных заранее. Сюда относится всё, что можно сделать с помощью isc_dsql_xxx API.
Embedded SQL (ESQL) - надстройка над SQL, понимаемая препроцессором gpre, который преобразует SQL в BLR и вставляет в программу вызовы низкоуровневого API. О динамических запросах тут речь уже не идёт. Т.к. gpre давно не обновлялся, то он не понимает некоторые новые конструкции SQL.
Соответственно PSQL, DSQL, ESQL - это надстройки над SQL, определяемые окружением, которое выполняет запросы (сам сервер, «новое» АПИ клиента, «старое» АПИ клиента).
Пример
См. также
Источник
Владислав Хорсун, разработчик сервера. Цитата взята из конференции.
Обсуждение
1