Prima di poter utilizzare una qualsiasi variabile, in pl/sql, e’ necessario dichiararla (eccezion fatta per le variabili indice di un ciclo for) e tutte le dichiarazioni devono essere fatte all’interno della parte dichiarativa di un blocco, una procedura, una funzione o un package .
La dichiarazione permette al programmatore di definire il nome e il tipo e al linguaggio di allocare lo spazio per contenerla.
La sintassi e’:
nome_variabile tipo [eventuale inizializzazione];
esempio:
x number;
y varchar2(10);
z date;
E’ possibile assegnare un valore di default (nel caso di una costante e’ obbligatorio definire il valore) seguendo una delle due sintassi possibili:
nome_variabile tipo := valore;
nome_variabile tipo DEFAULT valore;
Vediamo alcuni esempi:
x number := 0;
pi CONSTANT number := 3.14;
y number(1) := ROUND(pi);
Il primo inizializza la variabile a zero, il secondo dichiara una costante e quindi deve obbligatoriamente valorizzarla, il terzo utilizza il valore restituito dalla funzione round.
Esiste anche la clausola NOT NULL, che impone che la variabile non possa essere nulla:
nome VARCHAR2(30) NOT NULL DEFAULT ‘PIPPO’;
anche in questo caso la variabile deve obbligatoriamente essere inizializzata.
NULL e’ un valore indefinito, quindi il confronto fra due variabili nulle e’ sempre falso e la somma di un numero con un null e’ null (e non zero).