Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / PL SQL Programming
 

Raise Exception in a function

SQL> set serveroutput on SQL> DECLARE   2       quantity1 NUMBER := -2;   3       quantity2 NUMBER := 3;   4       total NUMBER := 0;   5       quantity_must_positive EXCEPTION;   6       FUNCTION find_cost (quant NUMBER) RETURN NUMBER IS   7       BEGIN   8            IF (quant > 0)   9            THEN  10                 RETURN(quant * 20);  11            ELSE  12                 RAISE quantity_must_positive;  13            END IF;  14       END find_cost;  15  BEGIN  16       total := find_cost (quantity2);  17       total := total + find_cost(quantity1);  18  EXCEPTION  19       WHEN quantity_must_positive  20       THEN  21            dbms_output.put_line('Total until now: ' || total);  22            dbms_output.put_line('Tried to use negative quantity ');  23  END;  24  / Total until now: 60 Tried to use negative quantity PL/SQL procedure successfully completed. SQL>