CREATE TABLE error_tab (error_date DATE, error_msg VARCHAR2(512), SQL VARCHAR2(4000))
CREATE OR REPLACE TRIGGER capture_sql_error AFTER SERVERERROR ON DATABASE DECLARE p_sql_text ora_name_list_t; p_stmt VARCHAR2 (4000); BEGIN FOR i IN 1 .. ora_sql_txt (p_sql_text) LOOP p_stmt := p_stmt || p_sql_text (i); END LOOP;
INSERT INTO error_tab VALUES (SYSDATE, ora_server_error_msg (1), p_stmt ); END capture_sql_error; / |