Встроенный SQL - это метод объединения вычислительной мощности языка программирования и базой данных возможности манипулирования SQL. Встроенные операторы SQL - это операторы SQL, написанные внутри программы исходного кода основного языка. Операторы встроенного SQL анализируются встроенным SQL препроцессором и заменяются вызовами на языке хоста в код библиотеки. Выходные данные препроцессора затем компилируются хостом компилятором. Это позволяет программистам встраивать операторы SQL в программы, написанные на любом количестве языков, таких как C / C ++, COBOL и Fortran. Это отличается от языков программирования, производных от SQL, которые не проходят через отдельные препроцессоры, таких как PL / SQL и T-SQL.
Комитет по стандартам SQL определил стандарт встроенного SQL в два этапа. : был определен формализм под названием язык модулей, затем стандарт встроенного SQL был получен из языка модулей. Стандарт SQL определяет встраивание SQL как встроенный SQL, а язык, на котором встроены SQL-запросы, называется основным языком. Популярным хост-языком является C. Хост-язык C и встроенный SQL, например, называется Pro * C в Oracle и Sybase системах управления базами данных, ESQL / C в Informix и ECPG в системе управления базами данных PostgreSQL. SQL также может быть встроен в такие языки, как PHP и т. Д.
Содержание
- 1 Системы, поддерживающие встроенный SQL
- 1.1 Altibase
- 1.2 IBM DB2
- 1.3 IBM Informix
- 1.4 Microsoft SQL Server
- 1.5 Mimer SQL
- 1.6 Oracle Database
- 1.7 PostgreSQL
- 1.8 Raima Database Manager (RDM)
- 1.9 SAP Sybase
- 2 Встроенный SQL через предметно-зависимые языки
- 3 См. Также
- 4 Ссылки
- 5 Внешние ссылки
Системы, поддерживающие встроенный SQL
Altibase
- C/C++
- APRE - это прекомпилятор встроенного SQL, предоставляемый Altibase Корп. для своего сервера СУБД.
IBM DB2
IBM DB2 версии 9 для Linux, UNIX и Windows поддерживает встроенный SQL для C, C ++, Java, COBOL, FORTRAN и REXX, хотя поддержка FORTRAN и REXX устарела.
IBM Informix
IBM Informix версия 14.10 для Linux, Unix и Windows поддерживает встроенный SQL для C.}
Microsoft SQL Server
- C / C ++
- Встроенный SQL для C устарел с Microsoft SQL Server 2008, хотя более ранние версии продукта поддерживают его.
Mimer SQL
Mimer SQL для Linux, macOS, OpenVMS и Windows поддерживают встроенный SQL.
- C / C ++
- Встроенный SQL для C / C ++ поддерживается в Linux, macOS, OpenVMS и Windows.
- COBOL
- Встроенный SQL для COBOL поддерживается в OpenVMS.
- Fortran
- Встроенный SQL для Fortran поддерживается в OpenVMS.
Oracle Database
- Ада
- Pro * Ада официально не поддерживалась Oracle в версии 7.3. Начиная с Oracle8, Pro * Ada был заменен модулем SQL *, но, похоже, с тех пор не обновлялся. SQL * Module - это модульный язык, который предлагает метод программирования, отличный от встроенного SQL. Модуль SQL * поддерживает стандарт языка Ada83 для Ada.
- C / C ++
- Pro * C стал Pro * C / C ++ с Oracle8. Pro * C / C ++ в настоящее время поддерживается в Oracle Database 11g.
- COBOL
- Pro * COBOL в настоящее время поддерживается в Oracle Database 11g.
- Fortran
- Pro * FORTRAN - больше не обновляется с Oracle8, но Oracle будет продолжать выпускать выпуски исправлений по мере сообщения об ошибках и их исправления.
- Pascal
- Pro * Pascal не был выпущен с Oracle8.
- PL / I
- Pro * PL / Я не был выпущен с Oracle8. Однако приложение Pro * PL / I к Руководству по прекомпиляторам Oracle продолжало появляться в библиотеке документации Oracle до выпуска 11g. Начиная с версии 12c, Pro * PL / I был удален из библиотеки документации Oracle.
PostgreSQL
- C / C ++
- ECPG является частью PostgreSQL, начиная с версии 6.3..
- COBOL
- Cobol-IT теперь распространяет прекомпилятор COBOL для PostgreSQL
- Micro Focus предоставляет поддержку через свой препроцессор OpenESQL
Raima Database Manager (RDM)
Raima Database Manager поддерживает встроенный SQL для C / C ++ и SQL PL.
SAP Sybase
SAP Sybase ASE 15.7 поддерживает встроенный SQL для C и COBOL как часть Software Developer Kit Sybase.
SAP Sybase SQL Anywhere поддерживает встроенный SQL для C и C ++ как часть системы управления базами данных SQL Anywhere SQL Anywhere.
SAP Sybase IQ поддерживает встроенный SQL для C и C ++ как часть Sybase Система управления базами данных IQ Sybase IQ.
Встроенный SQL через предметно-зависимые языки
- LINQ-to-SQL встраивает SQL-подобный язык в языки.NET.
- JPA встраивает SQL-подобный язык через h Criteria API в Java.
- jOOQ встраивает SQL-подобный язык в Java.
См. также
Ссылки
- ^«Концепция языка модулей». Модуль SQL * для Ada. Руководство программиста, выпуск 8.0, глава 1. Введение в модуль SQL *. Корпорация Oracle. Проверено 14 июля 2008 г.
- ^«База данных DB2 для Linux, UNIX и Windows». Разработка приложений со встроенным SQL. IBM. Проверено 10 апреля 2009 г.
- ^«Informix Dynamic Server». IBM® Informix® ESQL / C. IBM. Проверено 31 марта 2020 г.
- ^«Устаревшие функции ядра СУБД в SQL Server 2008». Электронная документация по SQL Server 2008 (март 2009 г.). Microsoft. Проверено 10 апреля 2009 г.
- ^«Встроенный SQL». Руководство программиста Mimer SQL версия 11.0, встроенный SQL. Mimer SQL.
- ^«Поддержка Ada в версии 8». Oracle9i Database Migration, Release 2 (9.2), Chapter 5. Совместимость и взаимодействие. Корпорация Oracle. Проверено 14 июля 2008 г.
- ^ «Альтернативы языка». Руководство программиста прекомпилятора Pro * COBOL, выпуск 8.0, глава 1. Введение. Корпорация Oracle. Проверено 14 июля 2008 г.
- ^«Технический документ Raima» (PDF).
- ^«EmbeddedSQL». Продукты SAP Sybase. SAP Sybase. Проверено 5 сентября 2012 г.
- ^«SAP Sybase SQL Anywhere». Продукты SAP Sybase. SAP Sybase. Архивировано из оригинала 01.05.2013. Проверено 2 мая 2013 г.
- ^«SAP Sybase IQ». Продукты SAP Sybase. SAP Sybase. Архивировано с оригинального 04.05.2013. Проверено 2 мая 2013 г.
Внешние ссылки