PL/pgSQL - PL/pgSQL

PL/pgSQL
Postgresql Elephant.svg
Entworfen von Jan Wieck
Entwickler Globale PostgreSQL-Entwicklungsgruppe
Erstmals erschienen 30. Oktober 1998 ; Vor 22 Jahren ( 1998-10-30 )
Webseite www .postgresql .org /docs /current /static /plpgsql .html
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