PL/pgSQL - PL/pgSQL
| Progettato da | Jan Wieck |
|---|---|
| Sviluppatore | Gruppo di sviluppo globale PostgreSQL |
| Apparso per la prima volta | 30 ottobre 1998 |
| Sito web | www |
| 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 | ? | sì | sì | ? |
| Documenti naturali | ? | No | sì | ? |
| ROBODoc | ? | sì | No | ? |
Altri strumenti di documentazione: Doxygen , DBScripte, HyperSQL, Universal Report.
Riferimenti
link esterno
- Documentazione ufficiale PL/pgSQL
- PL/pgSQL (en) , tutorial ed esempi