totn Oracle / PLSQL

Oracle / PLSQL: SQLERRM Function

This Oracle tutorial explains how to use the Oracle/PLSQL SQLERRM function with syntax and examples.

What does the SQLERRM Function do?

The SQLERRM function returns the error message associated with the most recently raised error exception. This function should only be used within the Exception Handling section of your code.

Syntax

The syntax for the SQLERRM function in Oracle/PLSQL is:

SQLERRM

Parameters or Arguments

There are no parameters or arguments for the SQLERRM function.

Note

Example

Since EXCEPTION HANDLING is usually written with the following syntax:

EXCEPTION
   WHEN exception_name1 THEN
      [statements]

   WHEN exception_name2 THEN
      [statements]

   WHEN exception_name_n THEN
      [statements]

   WHEN OTHERS THEN
      [statements]

END [procedure_name];

You could use the SQLERRM function to raise an error as follows:

EXCEPTION
   WHEN OTHERS THEN
      raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;

Or you could log the error to a table using the SQLERRM function as follows:

EXCEPTION
   WHEN OTHERS THEN
      err_code := SQLCODE;
      err_msg := SUBSTR(SQLERRM, 1, 200);

      INSERT INTO audit_table (error_number, error_message)
      VALUES (err_code, err_msg);
END;