Jump to content

ПЛ/pgSQL

ПЛ/pgSQL
Разработано Ян Вик
Разработчик Группа глобального развития PostgreSQL
Впервые появился 30 октября 1998 г .; 25 лет назад ( 1998-10-30 )
Веб-сайт www .postgresql .org /документы /текущий /статический /plpgsql .html
Под влиянием
PL/SQL , Ада

PL/pgSQL ( Процедурный язык/PostgreSQL ) — процедурный язык программирования, поддерживаемый PostgreSQL ОРСУБД . Он очень похож на Oracle язык PL/SQL . PL/pgSQL, реализованный Яном Виком, впервые появился в PostgreSQL 6.4, выпущенном 30 октября 1998 года. [1] Версия 9 также реализует некоторые функции ISO SQL/PSM , такие как перегрузка функций и процедур, вызываемых SQL. [2]

PL/pgSQL, как полнофункциональный язык программирования, обеспечивает гораздо больший процедурный контроль, чем SQL , включая возможность использования циклов и других структур управления. Операторы и триггеры SQL могут вызывать функции, созданные на языке PL/pgSQL.

Дизайн PL/pgSQL был направлен на то, чтобы позволить пользователям PostgreSQL выполнять более сложные операции и вычисления, чем SQL, обеспечивая при этом простоту использования. Язык может быть определен сервером как доверенный. [3]

PL/pgSQL — один из языков программирования, включенный в стандартный дистрибутив PostgreSQL. [4] остальные — PL/Tcl , PL/Perl [5] и PL/Питон. [6] Кроме того, многие другие доступны от третьих сторон, включая PL/Java, [7] ПЛ/пгПСМ, [8] ПЛ/php, [9] ПЛ/Р, [10] ПЛ/Рубин, [11] ПЛ/ш , PL/Lua , Постмодерн [12] (на основе Common Lisp ) и PL/v8 . PostgreSQL использует Bison в качестве парсера. [13] упрощая портирование многих языков с открытым исходным кодом , а также повторное использование кода .

Сравнивая с ПСМ

[ редактировать ]

Язык SQL/PSM определяется стандартом ISO, но также основан на языках Oracle PL/SQL и PL/pgPL/SQL, поэтому различий мало. Модуль PL/pgPSM реализует стандарт. Основные особенности PSM, отличающиеся от PL/pgSQL: [8] [14]

  • Обработчики исключений — это подпрограммы (обработчики продолжения);
  • Предупреждения можно обрабатывать как исключения;
  • Объявление переменных должно основываться на результате запроса SQL.

Все три языка (Oracle PL/SQL, [15] PostgreSQL PL/pgSQL и ISO SQL/PSM [16] ) изначально произошли от языка программирования Ada .

CREATE FUNCTION sales_tax(subtotal real) RETURNS real AS $$
BEGIN
    RETURN subtotal * 0.06;
END;
$$ LANGUAGE plpgsql;

Внешняя поддержка встроенной документации

[ редактировать ]

Формальный псевдоязык документации может быть встроен в сценарии SQL и PL/pgSQL. Затем эта документация обрабатывается генератором документации — внешним инструментом, который извлекает данные и генерирует гипертекст. Поскольку PL/SQL: поддерживает некоторые из этих инструментов, ожидается, что PL/pgSQL также обеспечит полную или частичную поддержку.

Инструмент Полный PL/pgSQL Javadoc Стиль Другой стиль PL/pgSQL-проекты, использующие его
Документ! Х ? Да Да ?
Природные документы ? Нет Да ?
РОБОДок ? Да Нет ?

Другие инструменты документирования: Doxygen , DBScribe, HyperSQL, Universal Report.

  1. ^ «Документация PostgreSQL, Приложение E: Примечания к выпуску, выпуск 6.4» . Группа глобального развития PostgreSQL. Январь 2012.
  2. ^ «функция T322» , Стандартные функции SQL (9-е изд.), PostgreSQL .
  3. ^ «PL/pgSQL – процедурный язык SQL» . ПостгреСБЛ . Проверено 15 ноября 2007 г.
  4. ^ «Процедурные языки» . 9 мая 2024 г.
  5. ^ «PL/Perl» , Документация (текущая редакция), PostgreSQL .
  6. ^ «PL/Python» , Документация (текущая редакция), PostgreSQL .
  7. ^ «PL/Java» , Gborg (проект), PostgreSQL .
  8. ^ Перейти обратно: а б SQL/PSM (руководство), PostgreSQL, 20 мая 2008 г.
  9. ^ «PL/PHP» , Сообщество , Командная строка .
  10. ^ Конвей, Джо, PL/R , заархивировано из оригинала 19 июня 2014 г. , получено 25 февраля 2005 г.
  11. ^ PL/Ruby (проект), язык Ruby, 23 ноября 2018 г.
  12. ^ Хавербеке, Марин (27 мая 2024 г.), marijnh/Postmodern , получено 1 июня 2024 г.
  13. ^ «Этап парсера» , Документация (9-е изд.), PostgreSQL
  14. ^ Стехуле, П., «Предложение: PL/pgPSM для pg9.3» , Хакеры (список рассылки), PostgreSQL .
  15. ^ «C. Ограничения программы PL/SQL» , Справочник по языку PL/SQL , Интернет-документация по базам данных (изд. 11g Release 1 (11.1)), Oracle, стр. 87, PL/SQL основан на языке программирования Ada.
  16. ^ «1», Хранимые процедуры ( ODP ) , О’Рейли .
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 751b178567fe952e0133924821ffa5e5__1721970780
URL1:https://arc.ask3.ru/arc/aa/75/e5/751b178567fe952e0133924821ffa5e5.html
Заголовок, (Title) документа по адресу, URL1:
PL/pgSQL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)