Get detailed error message from user_errors : user_errors « System Tables Data Dictionary « Oracle PL/SQL Tutorial






SQL> 
SQL> CREATE OR REPLACE PROCEDURE Simple AS
  2    v_Counter NUMBER;
  3  BEGIN
  4    v_Counter := 7;
  5  END Simple;
  6  /

Procedure created.

SQL>
SQL> COLUMN object_name format a20
SQL> COLUMN line format 9999
SQL> COLUMN position format 99999
SQL> COLUMN text format a59
SQL>
SQL> SELECT object_name, object_type, status
  2    FROM user_objects
  3    WHERE object_name = 'SIMPLE';

OBJECT_NAME          OBJECT_TYPE         STATUS
-------------------- ------------------- ----------
SIMPLE               PROCEDURE           VALID

1 row selected.

SQL>
SQL> SELECT text FROM user_source WHERE name = 'SIMPLE' ORDER BY line;

TEXT
-----------------------------------------------------------
PROCEDURE Simple AS
  v_Counter NUMBER;
BEGIN
  v_Counter := 7;
END Simple;

5 rows selected.

SQL>
SQL> SELECT line, position, text FROM user_errors WHERE name = 'SIMPLE' ORDER BY sequence;

no rows selected

SQL>
SQL> CREATE OR REPLACE PROCEDURE Simple AS
  2    v_Counter NUMBER;
  3  BEGIN
  4    v_Counter := 7
  5  END Simple;
  6  /

Warning: Procedure created with compilation errors.

SQL>
SQL>
SQL> SELECT line, position, text FROM user_errors WHERE name = 'SIMPLE' ORDER BY sequence;

 LINE POSITION TEXT
----- -------- -----------------------------------------------------------
    5        1 PLS-00103: Encountered the symbol "END" when expecting one
               of the following:

                  * & = - + ; < / > at in is mod remainder not rem
                  <an exponent (**)> <> or != or ~= >= <= <> and or like L
               IKE2_
                  LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
               The symbol ";" was substituted for "END" to continue.


1 row selected.

SQL>








30.80.user_errors
30.80.1.Viewing Errors in a Database
30.80.2.Query user_errors table
30.80.3.Get detailed error message from user_errors