PL/pgSQL - PL/pgSQL

PL/pgSQL
Postgresql elephant.svg
Progettato da Jan Wieck
Sviluppatore Gruppo di sviluppo globale PostgreSQL
Apparso per la prima volta 30 ottobre 1998 ; 22 anni fa ( 1998-10-30 )
Sito web www .postgresql .org / docs / corrente / statico / plpgsql html
Influenzato da
PL/SQL , Ada

PL/pgSQL ( Linguaggio procedurale/PostgreSQL ) è un linguaggio di programmazione procedurale supportato da PostgreSQL ORDBMS . Assomiglia molto di Oracle 's PL / SQL lingua. Implementato da Jan Wieck, PL/pgSQL è apparso per la prima volta con PostgreSQL 6.4, rilasciato il 30 ottobre 1998. La versione 9 implementa anche alcune funzionalità ISO SQL/PSM , come l'overload di funzioni e procedure invocate da SQL.

PL/pgSQL, in quanto linguaggio di programmazione completo, consente un controllo molto più procedurale rispetto a SQL , inclusa la possibilità di utilizzare cicli e altre strutture di controllo. Le istruzioni ei trigger SQL possono chiamare funzioni create nel linguaggio PL/pgSQL.

Il design di PL/pgSQL mirava a consentire agli utenti di PostgreSQL di eseguire operazioni e calcoli più complessi rispetto a SQL, fornendo allo stesso tempo facilità d'uso. La lingua può essere definita come attendibile dal server.

PL/pgSQL è uno dei linguaggi di programmazione inclusi nella distribuzione standard di PostgreSQL, gli altri sono PL/Tcl , PL/Perl e PL/Python. Inoltre molti altri sono disponibili da terze parti, tra cui PL/Java, PL/pgPSM, PL/php, PL/R, PL/Ruby, PL/sh , PL/Lua e PL/v8 . PostgreSQL utilizza Bison come parser, semplificando il porting di molti linguaggi open source e il riutilizzo del codice .

Confronto con PSM

Il linguaggio SQL/PSM è specificato da uno standard ISO, ma è anche ispirato a PL/SQL e PL/pgPL/SQL di Oracle, quindi ci sono poche differenze. Il modulo fornito da PL/pgPSM implementa lo standard. Le caratteristiche principali di PSM che differiscono da PL/pgSQL:

  • I gestori di eccezioni sono subroutine (continua gestori);
  • Gli avvisi possono essere gestiti come un'eccezione;
  • La dichiarazione delle variabili dovrebbe essere basata sul risultato della query SQL.

Tutti e tre i linguaggi (Oracle PL/SQL, PostgreSQL PL/pgSQL e ISO SQL/PSM) discendono originariamente dal linguaggio di programmazione Ada .

Supporto esterno per la documentazione in linea

Pseudo-linguaggio formale per la documentazione può essere incorporato negli script SQL e PL/pgSQL. Questa documentazione viene quindi elaborata da un generatore di documentazione , uno strumento esterno che estrae i dati e genera l'ipertesto. Poiché PL/SQ: supporta alcuni di questi strumenti, ci si aspetta che anche PL/pgSQL fornisca un supporto completo o parziale.

Attrezzo PL/pgSQL completo Stile Javadoc Altro stile Progetti PL/pgSQL che lo utilizzano
Documento! X ? ?
Documenti naturali ? No ?
ROBODoc ? No ?

Altri strumenti di documentazione: Doxygen , DBScripte, HyperSQL, Universal Report.

Riferimenti

link esterno