Встроенный SQL - Embedded SQL

Встроенный SQL это метод объединения вычисление сила язык программирования и база данных манипуляция возможности SQL. Встроенный SQL заявления операторы SQL, написанные вместе с программой исходный код, основного языка. Операторы встроенного SQL: разбирается встроенным SQL препроцессор и заменен на хост-язык звонки к коду библиотека. Затем вывод препроцессора компилируется хостом. компилятор. Это позволяет программистам встраивать операторы SQL в программы, написанные на любом количестве языков, например C / C ++, КОБОЛ и Фортран. Это отличается от языков программирования, производных от SQL, которые не проходят через дискретные препроцессоры, такие как PL / SQL и T-SQL.

Комитет по стандартам SQL определил стандарт встроенного SQL в два этапа: формализм, называемый Язык модуля был определен, затем из языка модулей был получен стандарт встроенного SQL.[1] Стандарт SQL определяет встраивание SQL как встроенный SQL а язык, на котором встраиваются SQL-запросы, называется принимающий язык. Популярным хост-языком является C. Хост-язык C и встроенный SQL, например, называется Pro * C в Oracle и Sybase системы управления базами данных, ESQL / C в Informix, и ECPG в PostgreSQL система управления базами данных. SQL также может быть встроен в такие языки, как PHP и т. д.

Системы, поддерживающие встроенный SQL

Altibase

C / C ++
APRE - это прекомпилятор встроенного SQL, предоставляемый Altibase Corp. для своего сервера СУБД.

IBM DB2

IBM DB2 версия 9 для Linux, UNIX и Windows поддерживает встроенный SQL для C, C ++, Java, COBOL, FORTRAN и REXX, хотя поддержка FORTRAN и REXX устарела.[2]

IBM Informix

IBM Informix версия 14.10 для Linux, Unix и Windows поддерживает встроенный SQL для C. [3]}

Microsoft SQL Server

C / C ++
Встроенный SQL для C устарел с Microsoft SQL Server 2008, хотя более ранние версии продукта его поддерживают.[4]

Mimer SQL

Mimer SQL для Linux, macOS, OpenVMS и Windows поддерживают встроенный SQL.[5]

C / C ++
Встроенный SQL для C / C ++ поддерживается в Linux, macOS, OpenVMS и Windows.
КОБОЛ
Встроенный SQL для COBOL поддерживается OpenVMS.
Фортран
Встроенный SQL для Fortran поддерживается OpenVMS.

База данных Oracle

Ада
Поддержка Pro * Ada была официально прекращена Oracle в версии 7.3. Начиная с Oracle8, Pro * Ada был заменен модулем SQL *, но, похоже, с тех пор не обновлялся.[6] SQL * Module - это модульный язык, который предлагает метод программирования, отличный от встроенного SQL. Модуль SQL * поддерживает стандарт языка Ada83 для Ada.
C / C ++
Pro * C стал Pro * C / C ++ с Oracle8. Pro * C / C ++ в настоящее время поддерживается Oracle Database 11грамм.
КОБОЛ
Pro * COBOL в настоящее время поддерживается в Oracle Database 11.грамм.
Фортран
Pro * FORTRAN больше не обновляется с Oracle8, но Oracle будет продолжать выпускать исправления по мере сообщения об ошибках и их исправления.[7]
Паскаль
Pro * Pascal не был выпущен с Oracle8.[7]
PL / I
Pro * PL / I не был выпущен с Oracle8. В Pro * PL / I Дополнение к Руководству по прекомпиляторам Oracle, однако, продолжал появляться в библиотеке документации Oracle до выпуска 11грамм. Начиная с версии 12c, Pro * PL / I был удален из библиотеки документации Oracle.[7]

PostgreSQL

C / C ++
ECPG часть PostgreSQL начиная с версии 6.3.
КОБОЛ
Cobol-IT распространяет прекомпилятор COBOL для PostgreSQL[нужна цитата ]
Micro Focus предоставляет поддержку через препроцессор OpenESQL[нужна цитата ]

Менеджер базы данных Raima (RDM)

Менеджер базы данных Raima поддерживает встроенный SQL для C / C ++ и SQL PL.[8][требуется сторонний источник ]

SAP Sybase

SAP Sybase ASE 15.7 поддерживает встроенный SQL для C и COBOL как часть Software Developer Kit Sybase.[9]

SAP Sybase SQL Anywhere поддерживает встроенный SQL для C и C ++ как часть системы управления базами данных SQL Anywhere. SQL Anywhere.[10]

SAP Sybase IQ поддерживает встроенный SQL для C и C ++ как часть системы управления базами данных Sybase IQ. Sybase IQ.[11]

Встроенный SQL через предметно-ориентированные языки

Смотрите также

Рекомендации

  1. ^ «Модульное языковое понятие». Модуль SQL * для руководства программиста Ada, выпуск 8.0, глава 1. Введение в модуль SQL *. Корпорация Oracle. Получено 2008-07-14.
  2. ^ «База данных DB2 для Linux, UNIX и Windows». Разработка приложений со встроенным SQL. IBM. Получено 2009-04-10.
  3. ^ "Informix Dynamic Server". IBM® Informix® ESQL / C. IBM. Получено 2020-03-31.
  4. ^ «Устаревшие функции ядра СУБД в SQL Server 2008». Электронная документация по SQL Server 2008 (март 2009 г.). Microsoft. Получено 2009-04-10.
  5. ^ «Встроенный SQL». Руководство программиста Mimer SQL версия 11.0, встроенный SQL. Mimer SQL.
  6. ^ «Поддержка Ada в версии 8». Oracle9i Database Migration, Release 2 (9.2), Chapter 5. Совместимость и взаимодействие. Корпорация Oracle. Получено 2008-07-14.
  7. ^ а б c «Языковые альтернативы». Руководство программиста прекомпилятора Pro * COBOL, выпуск 8.0, глава 1. Введение. Корпорация Oracle. Получено 2008-07-14.
  8. ^ "Техническая документация Raima" (PDF).
  9. ^ «EmbeddedSQL». Продукты SAP Sybase. SAP Sybase. Получено 2012-09-05.
  10. ^ «SAP Sybase SQL Anywhere». Продукты SAP Sybase. SAP Sybase. Архивировано из оригинал на 2013-05-01. Получено 2013-05-02.
  11. ^ «SAP Sybase IQ». Продукты SAP Sybase. SAP Sybase. Архивировано из оригинал на 2013-05-04. Получено 2013-05-02.

внешняя ссылка