×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

4.3.1. Концепция

Программа со внедренным SQL состоит из кода, написанного на обычном языке программирования (в данном случае C), в сочетании с SQL-командами в специально отмеченных разделах. Для сборки программы исходный код (*.pgc) сначала пропускается через препроцессор внедренного SQL, который преобразует его в обычную программу на языке C (*.c), после чего она может быть обработана компилятором языка C. (Подробности о компиляции и компоновке см. в Раздел 4.3.10.) Преобразованные приложения препроцессора ECPG вызывают функции библиотеки libpq через библиотеку внедренного SQL (библиотека ecpglib) и взаимодействуют с сервером PostgreSQL, используя стандартный протокол взаимодействия frontend-backend.

Внедренный SQL SQL имеет преимущества перед другими методами обработки SQL команд из кода на языке C. Во-первых, он берет на себя трудоемкую передачу данных в переменные и из переменных в вашей C программа на языке C. Во-вторых, SQL-код в программе проверяется во время сборки на предмет синтаксической корректности. В-третьих, внедренный SQL на языке C определен в SQL стандарте и поддерживается многими другими SQL системами баз данных. Данная Digital Q.DataBase реализация разработана таким образом, чтобы максимально соответствовать этому стандарту, и обычно возможен перенос внедренных SQL программ, написанных для других баз данных SQL, в Digital Q.DataBase с относительной легкостью.

Как уже отмечалось, программы, написанные для интерфейса внедренного SQL SQL, представляют собой обычные программы на языке C со специальным кодом, вставленным для выполнения действий, связанных с базой данных. Этот специальный код всегда имеет следующий вид:

EXEC SQL ...;

Эти операторы синтаксически занимают место оператора языка C. В зависимости от конкретного оператора, они могут располагаться на глобальном уровне или внутри функции.

Внедренные SQL операторы следуют правилам чувствительности к регистру обычного SQL кода, а не языка C. Кроме того, они допускают вложенные комментарии в стиле C согласно стандарту SQL. Однако часть программы на языке C следует стандарту C, не допускающему вложенные комментарии. Внедренные SQL операторы аналогичным образом используют правила SQL, а не правила C, для разбора строк в кавычках и идентификаторов. (См. Раздел 2.1.1.2.1 и Раздел 2.1.1.1 соответственно. Обратите внимание, что препроцессор ECPG предполагает, что standard_conforming_strings является включенным.) Разумеется, часть программы на языке C следует правилам использования кавычек C.

В следующих разделах описываются все операторы внедренного SQL.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению