This script demonstrates the EXCEPTION_INIT pragma.
SQL> CREATE TABLE emp (
2 id NUMBER PRIMARY KEY,
3 fname VARCHAR2(50),
4 lname VARCHAR2(50)
5 );
Table created.
SQL>
SQL>
SQL>
SQL> CREATE TABLE log_table(
2 code VARCHAR2(100),
3 message VARCHAR2(100),
4 info VARCHAR2(100));
Table created.
SQL>
SQL> DECLARE
2 e_MissingNull EXCEPTION;
3 PRAGMA EXCEPTION_INIT(e_MissingNull, -1400);
4 BEGIN
5 INSERT INTO emp (id) VALUES (NULL);
6 EXCEPTION
7 WHEN e_MissingNull then
8 INSERT INTO log_table (info) VALUES ('ORA-1400 occurred');
9 END;
10 /
PL/SQL procedure successfully completed.
SQL>
SQL> SELECT info FROM log_table;
INFO
--------------------------------------------------------------------------------
ORA-1400 occurred
1 row selected.
SQL> drop table log_table;
Table dropped.
SQL> drop table emp;
Table dropped.
Related examples in the same category