Codice: Seleziona tutto
DECLARE
CURSOR cursore IS
SELECT nome, cognome, email
FROM dipendente
WHERE id_dipendente = &id_dipendente;
dip_nome roberto.dipendente.nome%TYPE;
dip_cognome roberto.dipendente.cognome%TYPE;
dip_email roberto.dipendente.email%TYPE;
BEGIN
OPEN cursore;
FETCH cursore INTO dip_nome, dip_cognome, dip_email;
IF cursore%NOTFOUND THEN
RAISE NO_DATA_FOUND;
ELSE
FETCH cursore INTO dip_nome, dip_cognome, dip_email;
IF cursore%FOUND THEN
RAISE TOO_MANY_ROWS;
ELSE
DBMS_OUTPUT.PUT_LINE('Dipendente: ' || dip_nome || ' ' || dip_cognome || ' - ' || dip_email);
END IF;
END IF;
CLOSE cursore;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Non esiste nessun dipendente con il dato ID');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('Esistono piu'' dipendenti con il dato ID');
END;
Roberto Basile