oracle存储过程错误跟踪
时间:2022-03-13 22:54
1.首先创建用于保存错误信息的表
1
2
3
4
5
6
7
8
|
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.创建保存错误信息的存过
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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.使用示例
1
2
3
4
5
|
--存过过程实现主体 EXCEPTION WHEN OTHERS THEN PROC_SAVE_ERRMSG(biz_code /*此变量用于查找错误记录标记*/ ,DBMS_UTILITY.format_error_backtrace,sqlcode,SQLERRM); END ; |
oracle存储过程错误跟踪,布布扣,bubuko.com