1.首先创建用于保存错误信息的表
CREATE TABLE TBL_PROC_ERRMSG
(
BIZ_CODE VARCHAR2(50),ERR_LINE VARCHAR2(10),ERR_CODE VARCHAR2(10),MSG VARCHAR2(200),CRT_TM DATE DEFAULT SYSDATE
);
2.创建保存错误信息的存过
CREATE OR REPLACE PROCEDURE PROC_SAVE_ERRMSG(BIZCODE IN VARCHAR2,ERRORLINE IN VARCHAR2,ERRORCODE IN VARCHAR2,MSG IN VARCHAR2) IS
/*必须要使用自治事务,否则commit会影响调用程序事务*/
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO TBL_PROC_ERRMSG
(BIZ_CODE,ERR_LINE,ERR_CODE,MSG)
VALUES
(BIZCODE,ERRORLINE,ERRORCODE,MSG);
COMMIT;
END;
3.使用示例
--存过过程实现主体
EXCEPTION
WHEN OTHERS THEN
PROC_SAVE_ERRMSG(biz_code/*此变量用于查找错误记录标记*/,DBMS_UTILITY.format_error_backtrace,sqlcode,sqlERRM);
END;
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。