Встроенный SQL
Встроенный SQL — это метод объединения вычислительной мощности языка программирования и базами данных по манипулированию возможностей SQL . встроенного SQL Операторы — это операторы SQL, написанные вместе с исходным кодом программы на основном языке. Операторы встроенного SQL анализируются встроенным препроцессором SQL и заменяются вызовами кода на основном языке библиотеки . Выходные данные препроцессора затем компилируются хост- компилятором . Это позволяет программистам встраивать операторы SQL в программы, написанные на любом количестве языков, таких как C/C++ , COBOL и Fortran . Это отличается от языков программирования, основанных на 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 SQL:2023 доступен при покупке и содержит главу 21 «Встроенный SQL» и правила его синтаксиса. [2]
Системы баз данных, SQL встроенный поддерживающие
Альтибаза [ править ]
- С/С++
- APRE — это встроенный прекомпилятор SQL, предоставляемый корпорацией Altibase для своего сервера СУБД.
IBM Db2 [ править ]
IBM Db2 для Linux, UNIX и Windows поддерживает встроенный SQL для C, C++, Java, COBOL, FORTRAN и REXX, хотя поддержка FORTRAN и REXX устарела. [3]
IBM Informix [ править ]
IBM Informix версии 14.10 для Linux, Unix и Windows поддерживает встроенный SQL для C. [4] }
Microsoft SQL-сервер [ править ]
- С/С++
- Встроенный SQL для C объявлен устаревшим начиная с Microsoft SQL Server 2008, хотя более ранние версии продукта поддерживают его. [5]
Мимер SQL [ править ]
Mimer SQL для Linux, macOS , OpenVMS и Windows поддерживает встроенный SQL. [6]
- С/С++
- Встроенный SQL для C/C++ поддерживается в Linux, macOS, OpenVMS и Windows.
- КОБОЛ
- Встроенный SQL для COBOL поддерживается в OpenVMS.
- Фортран
- Встроенный SQL для Fortran поддерживается в OpenVMS.
База данных Oracle [ править ]
- Есть
- Поддержка Pro*Ada была официально прекращена Oracle в версии 7.3. Начиная с Oracle8, Pro*Ada был заменен на SQL*Module, но, похоже, с тех пор не обновлялся. [7] SQL*Module — это модульный язык, который предлагает метод программирования, отличный от встроенного SQL. SQL*Module поддерживает языковой стандарт Ada83 для Ada.
- С/С++
- Pro*C стал Pro*C/C++ с выходом Oracle8. Pro*C/C++ в настоящее время поддерживается начиная с Oracle Database 11g .
- КОБОЛ
- Pro*COBOL в настоящее время поддерживается начиная с Oracle Database 11g .
- Фортран
- Pro*FORTRAN больше не обновляется, начиная с Oracle8, но Oracle продолжит выпускать исправления по мере сообщения об ошибках и их исправления. [8]
- ПЛ/Я
- Pro*PL/I не был выпущен вместе с Oracle8. Однако дополнение Pro *PL/I к Oracle Precompilers Guide продолжало появляться в библиотеке документации Oracle до выпуска 11g . Начиная с версии 12c, Pro*PL/I был удален из библиотеки документации Oracle. [8]
PostgreSQL [ править ]
- С/С++
- ECPG является частью PostgreSQL начиная с версии 6.3.
- КОБОЛ
- Cobol-IT теперь распространяет прекомпилятор COBOL для PostgreSQL. [ нужна ссылка ]
- Micro Focus обеспечивает поддержку через свой препроцессор OpenESQL. [ нужна ссылка ]
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-подобный язык через Criteria API в Java .
- jOOQ встраивает SQL-подобный язык в Java .
См. также [ править ]
Ссылки [ править ]
- ^ «Концепция языка модуля» . SQL*Module for Ada Programmer's Guide, Release 8.0, Глава 1. Введение в SQL*Module . Корпорация Оракл . Проверено 14 июля 2008 г.
- ^ «Стандарт SQL 2023, глава 21, встроенный SQL» . ISO/IEC 9075-2:2023 Информационные технологии. Языки баз данных. SQL. Часть 2. Основа (SQL/Foundation) . ИСО . Проверено 17 августа 2023 г.
- ^ «База данных DB2 для Linux, UNIX и Windows» . Разработка приложений со встроенным SQL . ИБМ . Проверено 10 апреля 2009 г.
- ^ «Динамический сервер Informix» . IBM® Informix® ESQL/C . ИБМ . Проверено 31 марта 2020 г.
- ^ «Устаревшие функции ядра СУБД в SQL Server 2008» . Электронная документация по SQL Server 2008 (март 2009 г.) . Майкрософт . Проверено 10 апреля 2009 г.
- ^ «Встроенный SQL» . Последняя версия руководства программиста Mimer SQL, Embedded SQL . Мимер SQL .
- ^ «Поддержка Ada в версии 8» . Миграция базы данных Oracle9i, выпуск 2 (9.2), глава 5. Совместимость и взаимодействие . Корпорация Оракл . Проверено 14 июля 2008 г.
- ^ Jump up to: Перейти обратно: а б с «Языковые альтернативы» . Руководство программиста прекомпилятора Pro*COBOL, версия 8.0, глава 1. Введение . Корпорация Оракл . Проверено 14 июля 2008 г.
- ^ «Встроенный SQL» . Продукты SAP Sybase . SAP Sybase . Проверено 5 сентября 2012 г.
- ^ «SAP Sybase SQL Anywhere» . Продукты SAP Sybase . SAP Sybase. Архивировано из оригинала 1 мая 2013 г. Проверено 2 мая 2013 г.
- ^ «SAP Sybase IQ» . Продукты SAP Sybase . SAP Сибэйс. Архивировано из оригинала 4 мая 2013 г. Проверено 2 мая 2013 г.