PL/pgSQL - PL/pgSQL

PL/pgSQL
Postgresql elephant.svg
Conçu par Jan Wieck
Développeur Groupe de développement mondial PostgreSQL
Première apparition 30 octobre 1998 ; il y a 22 ans ( 1998-10-30 )
Site Internet www .postgresql .org /docs /current /static /plpgsql .html
Influencé par
PL/SQL , Ada

PL/pgSQL ( Procedural Language/PostgreSQL ) est un langage de programmation procédural pris en charge par PostgreSQL ORDBMS . Il ressemble étroitement à Oracle de PL / SQL langue. Implémenté par Jan Wieck, PL/pgSQL est apparu pour la première fois avec PostgreSQL 6.4, publié le 30 octobre 1998. La version 9 implémente également certaines fonctionnalités ISO SQL/PSM , comme la surcharge des fonctions et procédures invoquées par SQL.

PL/pgSQL, en tant que langage de programmation complet, permet beaucoup plus de contrôle procédural que SQL , y compris la possibilité d'utiliser des boucles et d'autres structures de contrôle. Les instructions et déclencheurs SQL peuvent appeler des fonctions créées dans le langage PL/pgSQL.

La conception de PL/pgSQL visait à permettre aux utilisateurs de PostgreSQL d'effectuer des opérations et des calculs plus complexes que SQL, tout en offrant une facilité d'utilisation. La langue peut être définie comme approuvée par le serveur.

PL/pgSQL est l'un des langages de programmation inclus dans la distribution standard de PostgreSQL, les autres étant PL/Tcl , PL/Perl et PL/Python. En outre, de nombreux autres sont disponibles auprès de tiers, notamment PL/Java, PL/pgPSM, PL/php, PL/R, PL/Ruby, PL/sh , PL/Lua et PL/v8 . PostgreSQL utilise Bison comme analyseur, ce qui facilite le portage de nombreux langages open source , ainsi que la réutilisation du code .

Comparaison avec PSM

Le langage SQL/PSM est spécifié par une norme ISO, mais s'inspire également des langages PL/SQL et PL/pgPL/SQL d'Oracle, il y a donc peu de différences. Le module contribué par PL/pgPSM implémente la norme. Les principales fonctionnalités de PSM qui diffèrent de PL/pgSQL :

  • Les gestionnaires d'exceptions sont des sous-routines (gestionnaires continue) ;
  • Les avertissements peuvent être traités comme une exception ;
  • La déclaration des variables doit être basée sur le résultat de la requête SQL.

Les trois langages (Oracle PL/SQL, PostgreSQL PL/pgSQL et ISO SQL/PSM) sont à l'origine issus du langage de programmation Ada .

Support externe de documentation en ligne

Un pseudo-langage formel pour la documentation peut être intégré dans des scripts SQL et PL/pgSQL. Cette documentation est ensuite traitée par un générateur de documentation, un outil externe qui extrait des données et génère de l'hypertexte. Étant donné que PL/SQ : prend en charge certains de ces outils, PL/pgSQL devrait également fournir une prise en charge complète ou partielle.

Outil PL/pgSQL complet Style Javadoc Autre style projets PL/pgSQL l'utilisant
Document! X ? Oui Oui ?
Docs naturels ? Non Oui ?
ROBODoc ? Oui Non ?

Autres outils de documentation : Doxygen , DBScribe, HyperSQL, Universal Report.

Les références

Liens externes