Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Динамический в сравнении со статическим SQL
Динамический в сравнении со статическим SQL
Операторы SQL, включенные в код и обработанные препроцессором, иногда называются статическим SQL. В отличие от них операторы, которые генерируются клиентским приложением и передаются для выполнения на сервер во время работы, называются динамическим SQL (DSQL).
Если вы не пишете код для приложений ESQL, вы используете DSQL. Операторы, выполняемые в утилите интерактивного SQL (isql) или в другой интерактивной утилите, являются операторами DSQL, таким же образом они обрабатываются в клиентских приложениях, которые используют напрямую или опосредованно API (через драйверы доступа к базе данных, такие как ODBC, JDBC или BDE).
В приложениях с Embedded SQL статический SQL позволяет передавать запросы в API Firebird, вместо того, чтобы использовать препроцессор и макросы для формирования структур API. Поскольку весь запрос полностью подготовлен, он может выполняться быстрее динамических операторов, которые передаются серверу, где выполняется их синтаксический анализ и подготовка во время выполнения программы.
Разновидности подмножеств языка
Преднамеренно или случайно существуют некоторые незначительные отличия между подмножествами языка SQL в Firebird.
* Формат некоторых обычных операторов SQL может слегка изменяться в статическом и динамическом вариантах SQL.
* Терминаторы операторов могут изменяться в разных подмножествах языка:
• операторы PSQL и ESQL завершаются точкой с запятой;
• в операторах DSQL, передаваемых через структуры API, терминаторы отсутствуют;
• операторы DSQL, вводимые в интерактивной утилите запросов isql требуют терминаторов, которые могут быть установлены при использовании SET TERM в любой печатаемый символ из первых 127 символьного подмножества ASCII.
- Операторы SQL
- Использование isql
- Интерактивный SQL (ISQL)
- Расширения SQL
- Системные переменные ROWS_AFFECTED, GDSCODE, SQLCODE, TRANSACTIONJD, CONNECTIONJD
- SET TERM больше не нужен в isql
- Реализация языка SQL
- Дальнейшее развитие языка SQL
- Использование isql -a
- Базы данных и СУБД. Введение в SQL
- Общие команды isql
- ГЛАВА 37. Интерактивный SQL (утилита isql).