-- Create table
create table SP_SO_SO_PROC_ERR_LOG
(
log_id NUMBER not null,
module_name VARCHAR2(200),
proc_name VARCHAR2(4000),
err_time DATE,
sql_code VARCHAR2(50),
sql_errm VARCHAR2(500),
err_content VARCHAR2(4000)
);
-- Add comments to the table
comment on table SP_SO_SO_PROC_ERR_LOG
is 'XX业务存储过程错误信息记录表';
-- Add comments to the columns
comment on column SP_SO_SO_PROC_ERR_LOG.log_id
is '主键';
comment on column SP_SO_SO_PROC_ERR_LOG.module_name
is '模块名称';
comment on column SP_SO_SO_PROC_ERR_LOG.proc_name
is '存储过程名称';
comment on column SP_SO_SO_PROC_ERR_LOG.err_time
is '报错时间';
comment on column SP_SO_SO_PROC_ERR_LOG.sql_code
is 'SQLCODE';
comment on column SP_SO_SO_PROC_ERR_LOG.sql_errm
is 'SQLERRM';
comment on column SP_SO_SO_PROC_ERR_LOG.err_content
is '报错的具体行';
-- Create/Recreate indexes
create index IDX_SO_SO_PROC_NAME on SP_SO_SO_PROC_ERR_LOG (PROC_NAME);
-- Create/Recreate primary, unique and foreign key constraints
alter table SP_SO_SO_PROC_ERR_LOG
add constraint PK_SP_SO_PROC_ERRLOG_ID primary key (LOG_ID);
-- Create sequence
create sequence SEQ_SO_RECORD_PROC_ERR
minvalue 1
maxvalue 9999999999999999999999999999;
CALL P_SO_RECORD_PROC_ERR_LOG()
SELECT * FROM SP_SO_SO_PROC_ERR_LOG
CREATE OR REPLACE PROCEDURE P_SO_RECORD_PROC_ERR_LOG(module_name varchar2,
proc_name varchar2,
v_SQLCODE varchar2,
v_SQLERRM varchar2,
v_err_line varchar2) is
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
insert into SP_SO_SO_PROC_ERR_LOG
(log_id,
module_name,
proc_name,
err_time,
sql_code,
sql_errm,
err_content)
values
(SEQ_SO_RECORD_PROC_ERR.nextval,
module_name,
proc_name,
sysdate,
v_SQLCODE,
v_SQLERRM,
v_err_line);
commit;
END P_SO_RECORD_PROC_ERR_LOG;
CREATE OR REPLACE PROCEDURE P_INSERT_HANDLE_RESULT_INFO AS
BEGIN
exception
when others then
P_SO_RECORD_PROC_ERR_LOG('XX',
'P_INSERT_HANDLE_RESULT_INFO',
SQLCODE,
SQLERRM,
substr(dbms_utility.format_error_backtrace, 1, 600));
END P_INSERT_HANDLE_RESULT_INFO;
/