Questo sito contribuisce alla audience di

Il linguaggio pl/sql - prima parte

Introduzione alle principali caratteristiche del linguaggio pl/sql.

Il pl/sql (Procedural Language extensions to SQL) non e’ un vero e proprio linguaggio di programmazione in quanto si trova solo integrato in altri prodotti, come i database Oracle o applicazioni client come Forms e Reports.

Come si evince dal nome, il linguaggio e’ un’estensione di sql, al quale aggiunge una serie di costrutti tipici dei linguaggi di programmazione permettendo cosi’ di combinare i due tipi di istruzioni, come nella porzione di codice che segue:

IF operazione = ‘DELETE’

THEN DELETE FROM tabella WHERE ….;

ELSIF operazione = ‘INSERT’

THEN INSERT INTO tabella …. ;

END IF;

che permette di condizionare l’esecuzione di un’ istruzione sql al valore di una variabile.

Esistono diverse versioni del linguaggio, in questa introduzione mi riferiro’ alla versione 2, disponibile gia’ dalla release 7.0 di Oracle Server per poi, successivamente, descrivere le novita’ introdotte con le versioni successive.

Le caratteristiche principali del linguaggio pl/sql sono:

Integrazione con SQL
Strutture di controllo
Aggiunta di nuovi tipi a quelli di sql e tipi definiti dall’utente
Possibilita’ di definire tipi record e tavola
Definizione di cursori per l’accesso ai dati
Modularizzazione del codice
Definizione di procedure, funzioni e packages
Built-in per la conversione dei dati, la gestione delle date, delle stringhe e dei numeri
Avanzata gestione degli errori
Possibilita’ di utilizzare funzioni all’interno di istruzioni sql
Sql dinamico
PL/SQL wrapper
Job scheduling
Accesso a file su disco

Con la versione 8, che succede alla 2.3, sono state introdotte le seguenti caratteristiche:

Supporto all’object-oriented
Advanced Queueing Facility
VARRAY
Object views
Richiamo di procedure esterne
Supporto dei LOB

Concludo ricordando che uno dei grossi vantaggi del pl/sql e’ dato dal fatto di essere presente sia sul server che sul client (ad esempio la suite Developer/2000), permettendo cosi’ di scrivere il codice usando sempre lo stesso linguaggio (anche se lato client ha delle limitazioni che vedremo), potendo inoltre decidere ad esempio di spostare una procedura sul server per poterla riutilizzare in diverse applicazioni.

Le categorie della guida