Exceptions in Subprograms : Create Procedure « Function Procedure Packages « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL>
SQL>
SQL> CREATE OR REPLACE PROCEDURE RaiseError (
  2    p_Raise IN BOOLEAN := TRUE,
  3    p_ParameterA OUT NUMBER) AS
  4  BEGIN
  5    p_ParameterA := 7;
  6
  7    IF p_Raise THEN
  8      RAISE DUP_VAL_ON_INDEX;
  9    ELSE
 10      RETURN;
 11    END IF;
 12  END RaiseError;
 13  /

SP2-0804: Procedure created with compilation warnings

SQL> DECLARE
  2    v_TempVar NUMBER := 1;
  3  BEGIN
  4    DBMS_OUTPUT.put_line('Initial value');
  5    RaiseError(FALSE, v_TempVar);
  6
  7    DBMS_OUTPUT.put_line('Value after successful call');
  8
  9    v_TempVar := 2;
 10    DBMS_OUTPUT.put_line('Value before 2nd call');
 11    RaiseError(TRUE, v_TempVar);
 12  EXCEPTION
 13    WHEN OTHERS THEN
 14      DBMS_OUTPUT.put_line('Value after unsuccessful call');
 15  END;
 16  /
Initial value
Value after successful call
Value before 2nd call
Value after unsuccessful call

PL/SQL procedure successfully completed.

SQL>
SQL>








27.6.Create Procedure
27.6.1.Creating a procedure
27.6.2.Creating a Stored Procedure for table update
27.6.3.Call a trigger in procedure
27.6.4.Re-creating a Procedure By Using OR REPLACE
27.6.5.Exceptions in Subprograms
27.6.6.Forward Declarations
27.6.7.Using stored functions in SQL statements, function getName
27.6.8.Create procedure for AUTHID CURRENT_USER