stringtranslate.com

Встроенный 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 Информикс

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*Pascal не был выпущен вместе с Oracle8. [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 через предметно-ориентированные языки

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

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

  1. ^ «Концепция языка модуля». SQL*Module for Ada Programmer's Guide, Release 8.0, Глава 1. Введение в SQL*Module . Корпорация Оракл . Проверено 14 июля 2008 г.
  2. ^ «Стандарт SQL 2023, глава 21, встроенный SQL» . ISO/IEC 9075-2:2023 Информационные технологии. Языки баз данных. SQL. Часть 2. Основа (SQL/Foundation) . ИСО . Проверено 17 августа 2023 г.
  3. ^ «База данных DB2 для Linux, UNIX и Windows». Разработка приложений со встроенным SQL . ИБМ . Проверено 10 апреля 2009 г.
  4. ^ «Динамический сервер Informix». IBM® Informix® ESQL/C . ИБМ . Проверено 31 марта 2020 г.
  5. ^ «Устаревшие функции ядра СУБД в SQL Server 2008» . Электронная документация по SQL Server 2008 (март 2009 г.) . Майкрософт . Проверено 10 апреля 2009 г.
  6. ^ «Встроенный SQL». Последняя версия руководства программиста Mimer SQL, Embedded SQL . Мимер SQL .
  7. ^ «Поддержка Ada в версии 8» . Миграция базы данных Oracle9i, выпуск 2 (9.2), глава 5. Совместимость и взаимодействие . Корпорация Оракл . Проверено 14 июля 2008 г.
  8. ^ abc «Языковые альтернативы». Руководство программиста прекомпилятора Pro*COBOL, версия 8.0, глава 1. Введение . Корпорация Оракл . Проверено 14 июля 2008 г.
  9. ^ «Встроенный SQL». Продукты SAP Sybase . SAP Sybase . Проверено 5 сентября 2012 г.
  10. ^ «SAP Sybase SQL Anywhere» . Продукты SAP Sybase . SAP Sybase. Архивировано из оригинала 1 мая 2013 г. Проверено 2 мая 2013 г.
  11. ^ «SAP Sybase IQ» . Продукты SAP Sybase . SAP Sybase. Архивировано из оригинала 4 мая 2013 г. Проверено 2 мая 2013 г.

Внешние ссылки