-- Esempio di eccezioni definite dall'utente <> DECLARE V_CODICEFID CLIENTI.CODFIDELITY%TYPE := :CODFID; V_QTABOLLINI NUMBER := 0; V_NOMINATIVO VARCHAR2(50); E_IDINVALIDO EXCEPTION; BEGIN IF V_CODICEFID < 67000000 THEN RAISE E_IDINVALIDO; END IF; SELECT NOME || ' ' || COGNOME INTO V_NOMINATIVO FROM CORSOPLSQL.CLIENTI WHERE CODFIDELITY = V_CODICEFID; DBMS_OUTPUT.PUT_LINE('Il Nome del Cliente è ' || V_NOMINATIVO); <> BEGIN SELECT SUM(BOLLINI) INTO V_QTABOLLINI FROM SCONTRINI WHERE CODFID = V_CODICEFID; DBMS_OUTPUT.PUT_LINE('Il Cliente ha un monte bollini di ' || NVL(V_QTABOLLINI, 0)); EXCEPTION WHEN VALUE_ERROR OR INVALID_NUMBER THEN DBMS_OUTPUT.PUT_LINE('Errore nel calcolo del monte bollini'); END; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('NON è stato trovato alcun cliente!!!'); WHEN E_IDINVALIDO THEN DBMS_OUTPUT.PUT_LINE('Il codice fidelity deve essere > 67000000'); END;