SQL / PSM - SQL/PSM
| Paradigmă | Multi-paradigmă |
|---|---|
| A apărut prima dată | 1996 |
| Versiune stabila | |
| OS | Cross-platform (multi-platform) |
| Implementări majore | |
|
PL / SQL MySQL / MariaDB SQL SQL IBM Mimer SQL | |
| Influențată de | |
|
PL / SQL Ada | |
SQL / PSM ( SQL / Persistent Stored Modules) este un standard ISO care definește în principal o extensie a SQL cu un limbaj procedural pentru utilizare în procedurile stocate . Publicat inițial în 1996 ca o extensie a SQL-92 (ISO / IEC 9075-4: 1996, o versiune numită uneori PSM-96 sau chiar SQL-92 / PSM), SQL / PSM a fost ulterior încorporat în SQL -ul cu mai multe părți : 1999 , și a făcut parte din acest standard de atunci, cel mai recent în SQL: 2016 . SQL: 1999 partea 4 acoperea mai puțin decât PSM-96 original deoarece instrucțiunile SQL pentru definirea, gestionarea și invocarea rutinelor au fost de fapt încorporate în partea 2 SQL / Foundation, lăsând doar limbajul procedural în sine ca SQL / PSM. Facilitățile SQL / PSM sunt încă opționale în ceea ce privește standardul SQL; majoritatea sunt grupate în caracteristicile P001-P008.
SQL / PSM standardizează sintaxa și semantica pentru fluxul de control , gestionarea excepțiilor (numită „gestionarea condițiilor” în SQL / PSM), variabilele locale, atribuirea expresiilor variabilelor și parametrilor și utilizarea (procedurală) a cursorilor . De asemenea, definește o schemă de informații ( metadate ) pentru procedurile stocate. SQL / PSM este un limbaj în care pot fi definite metodele pentru tipurile structurate SQL: 1999 . Cealaltă este Java, prin SQL / JRT .
SQL / PSM este derivat, aparent direct, din PL / SQL Oracle . Oracle a dezvoltat PL / SQL și a lansat - o în 1991, bazându - limba de pe Departamentul Apararii al SUA e Ada limbaj de programare . Cu toate acestea, Oracle a menținut o distanță față de standard în documentația sa. SQL PL IBM (utilizat în DB2) și PSM Mimer SQL au fost primele două produse care implementează oficial SQL / PSM. Se crede în mod obișnuit că aceste două limbaje, și poate și limbajul procedural MySQL / MariaDB , sunt cele mai apropiate de standardul SQL / PSM. Cu toate acestea, un addon PostgreSQL implementează SQL / PSM (alături de celelalte limbaje procedurale ale acestuia, cum ar fi plpgsql derivat de PL / SQL), deși nu face parte din produsul de bază.
Funcționalitatea RDF în OpenLink Virtuoso a fost dezvoltată în întregime prin SQL / PSM, combinată cu tipuri de date personalizate (de exemplu, ANYpentru manipularea obiectelor de relații URI și Literal), indexare sofisticată și opțiuni flexibile de stocare fizică (coloană sau rând).
Vezi si
Următoarele implementări adoptă standardul, dar nu sunt 100% compatibile cu SQL / PSM:
- HSQLDB a stocat proceduri și funcții
- Procedurile stocate MySQL / MariaDB
- Proceduri SQL OpenLink Virtuoso (VSP)
- PostgreSQL PL / pgSQL
Proprietate:
- Oracle PL / SQL
- Microsoft și Sybase Transact-SQL
- SQL procedural avantajos
Referințe
Lecturi suplimentare
- Jim Melton, Understanding SQL's Stored Procedures: A Complete Guide to SQL / PSM , Morgan Kaufmann Publishers, 1998, ISBN 1-55860-461-8