[Oracle] PL/SQL: Dichiarazione di variabili

Rispondi
Roberto
Amministratore
Messaggi: 160
Iscritto il: 19/12/2009, 19:30

[Oracle] PL/SQL: Dichiarazione di variabili

Messaggio da Roberto »

Vogliamo salvare il contenuto di un attributo relativo ad una tabella in una variabile che abbia lo stesso tipo (datatype) della colonna relativa all'attributo. Per fare questo si utilizza l'attributo %TYPE nel seguente modo:

Codice: Seleziona tutto

DECLARE
    dip_nome roberto.dipendente.nome%TYPE;
    dip_cognome roberto.dipendente.cognome%TYPE;
    dipendente NUMBER := &id_dipendente;
BEGIN
    SELECT nome, cognome
    INTO dip_nome, dip_cognome
    FROM dipendente
    WHERE id_dipendente = dipendente;
    
    DBMS_OUTPUT.PUT_LINE('Trovato il seguente dipendente: ' || dip_cognome || ' ' || dip_nome);
    
    EXCEPTION
        WHEN NO_DATA_FOUND THEN
            DBMS_OUTPUT.PUT_LINE('Nessun dipendente trovato con il dato ID');
        WHEN TOO_MANY_ROWS THEN
            DBMS_OUTPUT.PUT_LINE('Con il dato ID esistono diversi dipendenti');
END;
Come possiamo vedere in questo script stampiamo a video il nome e cognome di un dipendente cercato tramite ID e le variabili dip_nome e dip_cognome ereditano il tipo degli attributi nome e cognome della tabella dipendente.

Roberto Basile
Rispondi