giovedì 8 settembre 2011

Come funziona il PL/SQL

Il PL/SQL è un linguaggio strutturato a blocchi. In pratica, le unità ( procedure, funzioni, blocchi anonimi) che costituiscono un programma PL/SQL, sono dei blocchi logici che possono contenere un numero infinito di sottoblocchi.

In pratica però, a ogni blocco corrisponde un problema da risolvere, il problem solving di PL/SQL è di fatto basato sul dividi e comanda, ovvero il programma viene diviso in tanti piccoli steps, appunto i blocchi.

In un blocco è possibile inserire le dichiarazioni, ciò significa che potete piazzare le dichiarazioni dove devono venire usate. Le dichiarazioni sono locali al blocco e terminano di esistere alla chiusura del blocco stesso.

Come è possibile vedere dalla figura, un blocco di PL/SQL si divide in tre parti, la prima parte dove si fanno le dichiarazioni, la seconda parte dove c'è il corpo del programma, e la terza parte dove si gestiscono gli errori.

In pratica,  prima si dichiarano gli oggetti che ci servono, dopo vengono manipolati per l'uso a cui sono destinati, e le eccezioni che possono derivare vengono gestite nell'ultima parte.

Variabili e costanti.

In PL/SQL si possono dichiarare variabili e costanti. Le variabili possono avere un qualsiasi formato SQL, over possono essere CHAR, DATE, NUMBER. Possono anche essere di tipo PL/SQL, ovvero BOOLEAN, BINARY_INTEGER.

Se si vuole dichiarare una variabile numerica di 4 valori, e una variabile che restituisce un valoro TRUE o FALSE, ovvero di tipo BOOLEAN, la dichiarazione sarà la seguente:

var_numer NUMBER(4);
var_bool BOOLEAN;

Potete anche dichiarare tabelle, variabili di tipo array, e records, usando TABLE, VARRAY, RECORD.

Assegnare i valori alle variabili.

Ci sono tre modi per assegnare i valori alle variabili. Il primo utilizzando l'operatore (:=) per esempio
area := base * altezza;
id := FALSE;

Il secondo modo per assegnare un valore alla variabile è tramite una SELECT in SQL, per esempio
SELECT valore INTO area FROM geometrie WHERE altezza = base;





The second way to assign values to a variable is by selecting (or fetching) database values into it. In the example below, you have Oracle compute a 10% bonus when you select the salary of an employee. Now, you can use the variable bonus in another computation or insert its value into a database table.
SELECT sal * 0.10 INTO bonus FROM emp WHERE empno = emp_id;
 
Il terzo modo è quello di passare un parametro OUT o IN OUT da un sottoprogramma, 
in pratica un parametro consente di passare valori iniziali al sottoprogramma chiamato e 
restituire valori aggiornati al chiamante:



Nessun commento:

Posta un commento