zoukankan      html  css  js  c++  java
  • Oracle存储过程跟踪错误的方法

    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 ;
    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 ;
    

      

    --存过过程实现主体
    EXCEPTION
       WHEN  OTHERS  THEN
         PROC_SAVE_ERRMSG(biz_code /*此变量用于查找错误记录标记*/ ,DBMS_UTILITY.format_error_backtrace,sqlcode,SQLERRM);
    END ;
  • 相关阅读:
    WEBUS2.0 In Action
    WEBUS2.0 In Action
    WEBUS2.0 In Action
    WEBUS2.0 In Action
    在Linux查看版本命令
    Increasing heap size while building the android source code on Ubuntu 15.10
    在Linux中增加swap空间
    Patch
    使用Vim比较两个文件的内容
    @override 重写 与重载
  • 原文地址:https://www.cnblogs.com/dll102/p/15667359.html
Copyright © 2011-2022 走看看