Error-handling features of PL/SQL: log exception
SQL>
SQL> CREATE TABLE myLogTable (
2 code NUMBER,
3 message VARCHAR2(200),
4 info VARCHAR2(100)
5 );
Table created.
SQL>
SQL>
SQL>
SQL> DECLARE
2 v_ErrorCode NUMBER; -- Code for the error
3 v_ErrorMsg VARCHAR2(200); -- Message text for the error
4 v_CurrentUser VARCHAR2(8); -- Current database user
5 v_Information VARCHAR2(100); -- Information about the error
6 BEGIN
7 null;
8 EXCEPTION
9 WHEN OTHERS THEN
10 v_ErrorCode := SQLCODE;
11 v_ErrorMsg := SQLERRM;
12 v_CurrentUser := USER;
13 v_Information := 'Error encountered on ' || TO_CHAR(SYSDATE) || ' by database user ' || v_CurrentUser;
14 INSERT INTO myLogTable (code, message, info) VALUES (v_ErrorCode, v_ErrorMsg, v_Information);
15 END;
16 /
PL/SQL procedure successfully completed.
SQL>
SQL> select * from myLogTable;
no rows selected
SQL>
SQL> drop table myLogTable;
Table dropped.
SQL>
SQL>
Related examples in the same category