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