zoukankan      html  css  js  c++  java
  • oracle存储过程错误跟踪

    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;
  • 相关阅读:
    Angularjs乱记
    tornado code
    angularjs中templateUrl的路径问题
    bat脚本禁用和开启本地连接
    http-server使用
    angularjs loading, animate
    tornado输出json
    cmder切换路径、设置命令别名
    python __setattr__和__getattr__
    滚动加载
  • 原文地址:https://www.cnblogs.com/Kconnie/p/3926488.html
Copyright © 2011-2022 走看看