PL/pgSQL - PL/pgSQL
Entworfen von | Jan Wieck |
---|---|
Entwickler | Globale PostgreSQL-Entwicklungsgruppe |
Erstmals erschienen | 30. Oktober 1998 |
Webseite | www |
Beeinflusst von | |
PL/SQL , Ada |
PL/pgSQL ( Procedural Language/PostgreSQL ) ist eine prozedurale Programmiersprache, die vom PostgreSQL ORDBMS unterstützt wird . Es ähnelt stark der PL/SQL- Sprache von Oracle . Von Jan Wieck implementiert, erschien PL/pgSQL erstmals mit PostgreSQL 6.4, veröffentlicht am 30. Oktober 1998. Version 9 implementiert auch einige ISO SQL/PSM- Features, wie das Überladen von SQL-aufgerufenen Funktionen und Prozeduren.
PL/pgSQL als voll funktionsfähige Programmiersprache ermöglicht viel mehr prozedurale Kontrolle als SQL , einschließlich der Möglichkeit, Schleifen und andere Kontrollstrukturen zu verwenden. SQL-Anweisungen und Trigger können Funktionen aufrufen, die in der Sprache PL/pgSQL erstellt wurden.
Das Design von PL/pgSQL zielte darauf ab, PostgreSQL-Benutzern zu ermöglichen, komplexere Operationen und Berechnungen als SQL durchzuführen und gleichzeitig eine einfache Bedienung zu gewährleisten. Die Sprache kann vom Server als vertrauenswürdig definiert werden.
PL/pgSQL ist eine der Programmiersprachen, die in der Standard-PostgreSQL-Distribution enthalten sind, neben PL/Tcl , PL/Perl und PL/Python. Darüber hinaus sind viele andere von Drittanbietern erhältlich, darunter PL/Java, PL/pgPSM, PL/php, PL/R, PL/Ruby, PL/sh , PL/Lua und PL/v8 . PostgreSQL verwendet Bison als Parser, was die Portierung vieler Open-Source- Sprachen sowie die Wiederverwendung von Code erleichtert .
Vergleich mit PSM
Die Sprache SQL/PSM wird durch einen ISO-Standard spezifiziert, ist aber auch von Oracles PL/SQL und PL/pgPL/SQL inspiriert, sodass es nur wenige Unterschiede gibt. Das von PL/pgPSM beigesteuerte Modul implementiert den Standard. Die Hauptmerkmale von PSM, die sich von PL/pgSQL unterscheiden:
- Exception-Handler sind Unterprogramme (Continue-Handler);
- Warnungen können wie eine Ausnahme behandelt werden;
- Die Deklaration von Variablen sollte auf dem Ergebnis der SQL-Abfrage basieren.
Alle drei Sprachen (Oracle PL/SQL, PostgreSQL PL/pgSQL und ISO SQL/PSM) stammen ursprünglich von der Programmiersprache Ada ab .
Inline-Dokumentation externer Support
Formale Pseudosprache für die Dokumentation kann in SQL- und PL/pgSQL-Skripte eingebettet werden. Diese Dokumentation wird dann von einem Dokumentationsgenerator verarbeitet – einem externen Tool, das Daten extrahiert und Hypertext generiert. Da PL/SQ: einige dieser Tools unterstützt, wird erwartet, dass auch PL/pgSQL vollständige oder teilweise Unterstützung bietet.
Werkzeug | Vollständiges PL/pgSQL | Javadoc- Stil | Anderer Stil | PL/pgSQL-Projekte, die es verwenden |
---|---|---|---|---|
Dokumentieren! x | ? | Jawohl | Jawohl | ? |
Natürliche Dokumente | ? | Nein | Jawohl | ? |
ROBODoc | ? | Jawohl | Nein | ? |
Andere Dokumentationstools: Doxygen , DBScribe, HyperSQL, Universal Report.
Verweise
Externe Links
- Offizielle PL/pgSQL-Dokumentation
- PL/pgSQL (en) , Tutorial und Beispiele