Jump to content

SQL/ПСМ

SQL/ПСМ
Парадигма Мультипарадигмальность
Впервые появился 1996
Стабильная версия
ТЫ Кроссплатформенность (мультиплатформенность)
Основные реализации
ПЛ/SQL
MySQL / МарияДБ
от IBM SQL PL
Мимер SQL
Под влиянием
ПЛ/SQL
Есть [1]

SQL/PSM ( SQL /Persistent Stored Modules) — это стандарт ISO, в основном определяющий расширение SQL процедурным языком для использования в хранимых процедурах . Первоначально опубликован в 1996 году как расширение SQL-92 (ISO/IEC 9075-4:1996, версия, которую иногда называют PSM-96 или даже SQL-92/PSM). [2] ), SQL/PSM позже был включен в составной стандарт SQL:1999 и с тех пор стал частью 4 этого стандарта, совсем недавно в SQL:2023 . [3] Часть 4 SQL:1999 охватывала меньше, чем исходный PSM-96, поскольку операторы SQL для определения, управления и вызова подпрограмм были фактически включены в часть 2 SQL/Foundation, оставив только сам процедурный язык как SQL/PSM. [4] Возможности SQL/PSM по-прежнему не являются обязательными для стандарта SQL; большинство из них сгруппированы в функции P001–P008.

SQL/PSM стандартизирует синтаксис и семантику потока управления , обработки исключений (в SQL/PSM называемой «обработкой условий»), локальных переменных, присвоения выражений переменным и параметрам и (процедурного) использования курсоров . Он также определяет информационную схему ( метаданные ) для хранимых процедур. SQL/PSM — это язык, на котором методы SQL:1999 для структурированных типов могут быть определены . Другой — Java через SQL/JRT .

SQL/PSM, по всей видимости, является прямым производным от Oracle PL/SQL . Oracle разработала PL/SQL и выпустила его в 1991 году, взяв за основу язык обороны США Министерства программирования Ada . Однако Oracle в своей документации придерживается дистанции от стандарта. от IBM SQL PL (используется в DB2) и Mimer SQL. PSM от [5] были первыми двумя продуктами, официально реализующими SQL/PSM. Принято считать, что эти два языка, а также, возможно, процедурный язык MySQL / MariaDB , наиболее близки к стандарту SQL/PSM. [6] [7] Однако дополнение PostgreSQL реализует SQL/PSM. [8] [9] [10] [11] (наряду с другими процедурными языками, такими как plpgsql, производный от PL/SQL), хотя он не является частью основного продукта. [12]

Функциональность RDF в OpenLink Virtuoso была полностью разработана с использованием SQL/PSM в сочетании с пользовательскими типами данных (например, ANY для обработки объектов URI и литеральных отношений), сложная индексация и гибкий выбор физического хранилища (по столбцам или по строкам).

См. также

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

Следующие реализации принимают стандарт, но они не на 100% совместимы с SQL/PSM:

Открытый исходный код :

Собственный:

  1. ^ Гулуцан, Питер (2015), Хранимые процедуры: критика и защита
  2. ^ Айзенберг, А. (1996). «Новый стандарт хранимых процедур в SQL» . Запись ACM SIGMOD . 25 (4): 81–88. дои : 10.1145/245882.245907 . S2CID   13023149 .
  3. ^ "SQL:2023", Каталог (интернет-магазин) , ISO
  4. ^ Мелтон, Джим; Саймон, Алан Р. (2002). SQL: 1999 . Морган Кауфманн. стр. 541–42 . ISBN  978-1-55860-456-8 .
  5. ^ «Хранимые процедуры в Mimer SQL» .
  6. ^ Jump up to: а б Харрисон, Гай; Фейерштейн, Стивен (2008). Программирование хранимых процедур MySQL . О'Рейли. п. 49. ИСБН  978-0-596-10089-6 .
  7. ^ Jump up to: а б «Хранимые процедуры» . База знаний MariaDB .
  8. ^ plpsm0 (git) (репозиторий), 7 июля 2020 г. .
  9. ^ Анонс , PostgreSQL, май 2011 г.
  10. ^ «PostgreSQL: Предложение: PL/pgPSM для 9.3» . www.postgresql.org . 22 февраля 2012 г.
  11. ^ SQL/PSM (вигл) (руководство), PostgreSQL, 2008 .
  12. ^ «Соответствие SQL» , Документация (изд. 9.2), PostgreSQL .
  13. ^ «Глава 8. Подпрограммы, вызываемые SQL» . hsqldb.org .
  14. ^ «Глава 11. Руководство по языку процедур SQL» . docs.openlinksw.com .
  15. ^ «Инновационная грамматика SQL v2.0» . Инновационный .
  16. ^ «Хранимые процедуры Mimer SQL» . docs.mimer.com .

Дальнейшее чтение

[ редактировать ]
  • Джим Мелтон, Понимание хранимых процедур SQL: Полное руководство по SQL/PSM , Morgan Kaufmann Publishers, 1998, ISBN   1-55860-461-8
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 37b75c788e56fb24b71c94543eecc0a9__1685813880
URL1:https://arc.ask3.ru/arc/aa/37/a9/37b75c788e56fb24b71c94543eecc0a9.html
Заголовок, (Title) документа по адресу, URL1:
SQL/PSM - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)