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