SQL/PSM - SQL/PSM

SQL/PSM
Paradygmat Wieloparadygmat
Po raz pierwszy pojawiły się 1996
Wersja stabilna
OS Wieloplatformowy (wieloplatformowy)
Główne wdrożenia
PL/SQL
MySQL / MariaDB
IBM's SQL PL
Mimer SQL
Wpływem
PL / SQL
Ada

SQL/PSM ( SQL /Persistent Stored Modules) to standard ISO definiujący głównie rozszerzenie SQL o język proceduralny do wykorzystania w procedurach składowanych . Pierwotnie opublikowany w 1996 roku jako rozszerzenie SQL-92 (ISO/IEC 9075-4:1996, wersja czasami nazywana PSM-96 lub nawet SQL-92/PSM), SQL/PSM został później włączony do wieloczęściowego SQL: 1999 standard i od tego czasu jest częścią 4 tego standardu, ostatnio w SQL:2016 . SQL:1999 część 4 obejmowała mniej niż oryginalny PSM-96, ponieważ instrukcje SQL do definiowania, zarządzania i wywoływania procedur zostały faktycznie włączone do części 2 SQL/Foundation, pozostawiając tylko sam język proceduralny jako SQL/PSM. Funkcje SQL/PSM są nadal opcjonalne, jeśli chodzi o standard SQL; większość z nich jest zgrupowana we właściwościach P001-P008.

SQL/PSM standaryzuje składnię i semantykę dla przepływu sterowania , obsługi wyjątków (zwanej w SQL/PSM obsługą warunków), zmiennych lokalnych, przypisywania wyrażeń do zmiennych i parametrów oraz (proceduralnego) używania kursorów . Definiuje również schemat informacji ( metadane ) dla procedur składowanych. SQL/PSM to język, w którym można definiować metody dla typów strukturalnych SQL:1999 . Drugi to Java, za pośrednictwem SQL/JRT .

SQL/PSM wywodzi się, pozornie bezpośrednio, z Oracle PL/SQL . Oracle PL / SQL opracował i wydał go w 1991 roku, opierając się językiem na Departament Obrony USA „s język programowania Ada . Jednak Oracle w swojej dokumentacji zachowuje dystans do standardu. IBM SQL PL (używany w DB2) i Mimer SQL PSM były pierwszymi dwoma produktami, które oficjalnie zaimplementowały SQL/PSM. Powszechnie uważa się, że te dwa języki, a być może także język proceduralny MySQL / MariaDB , są najbliższe standardowi SQL/PSM. Jednak dodatek PostgreSQL implementuje SQL/PSM (obok innych języków proceduralnych, takich jak plpgsql wywodzący się z PL/SQL), chociaż nie jest częścią podstawowego produktu.

Funkcjonalność RDF w OpenLink Virtuoso została opracowana w całości za pomocą SQL/PSM, w połączeniu z niestandardowymi typami danych (np. ANYdo obsługi obiektów relacji URI i Literal), wyrafinowanym indeksowaniem i elastycznymi wyborami pamięci fizycznej (kolumnowymi lub wierszowymi).

Zobacz też

Następujące implementacje przyjmują standard, ale nie są w 100% kompatybilne z SQL/PSM:

Otwarte źródło :

Prawnie zastrzeżony:

Bibliografia

Dalsza lektura

  • Jim Melton, Understanding SQL's Stored Procedures: A Complete Guide to SQL/PSM , Morgan Kaufmann Publishers, 1998, ISBN  1-55860-461-8