成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Oracle 錯誤日志表及異常處理包詳解 附源碼

Oracle 錯誤日志表及異常處理包詳解 附源碼

熱門標簽:杭州網(wǎng)絡(luò)外呼系統(tǒng)運營商 鶴壁電話機器人價格 汽車4s店百度地圖標注店 手機地圖標注門店 電銷套路機器人 安陽企業(yè)電銷機器人供應(yīng)商 網(wǎng)貸外呼系統(tǒng)合法嗎 地圖標注坐標圖標 地圖標注效果的制作

1 概述

1. 目的:'快速定位程序異常'

2. 包處理的核心思想:'自治事務(wù)' -- 自治事務(wù)的 "提交、回滾" 與 主事務(wù) 之間互不影響

3. 錯誤異常記錄邏輯大體一致,此處記錄,方便需要使用時復制、粘貼

4. 驗證思路:通過執(zhí)行報錯的過程,觀察 '程序執(zhí)行結(jié)果' 和 '日志表' 數(shù)據(jù)插入情況

2 效果演示

程序執(zhí)行截圖:

日志表查詢截圖:

3 源碼

說明:
1. 測試中,共有 2 個用戶 -- 模擬實際開發(fā)場景
  (1) odsdata: 存放業(yè)務(wù)數(shù)據(jù)
  (2) odscde : 執(zhí)行具體操作
  -- 為了方便測試,也可以去掉所有 '屬主 owner'

3.1 錯誤日志表

CREATE TABLE odsdata.ods_program_error_log (
 error_log_id    VARCHAR2(10) NOT NULL, -- CONSTRAINT pk_opel_error_log_id PRIMARY KEY(error_log_id)
 owner        VARCHAR2(30),
 package_name    VARCHAR2(30),
 procedure_name   VARCHAR2(30),
 error_comment    VARCHAR2(1000),
 error_backtrace   VARCHAR2(400),
 error_stack     VARCHAR2(4000),
 call_stack     VARCHAR2(4000),
 error_date     DATE NOT NULL,
 oracle_execute_user VARCHAR2(50),
 um_id        VARCHAR2(50)
);

COMMENT ON TABLE odsdata.ods_program_error_log IS '程序錯誤日志表';
COMMENT ON COLUMN odsdata.ods_program_error_log.error_log_id IS '錯誤日志id';
COMMENT ON COLUMN odsdata.ods_program_error_log.owner IS '屬主';
COMMENT ON COLUMN odsdata.ods_program_error_log.package_name IS '包名';
COMMENT ON COLUMN odsdata.ods_program_error_log.procedure_name IS '過程名';
COMMENT ON COLUMN odsdata.ods_program_error_log.error_comment IS '錯誤備注';
COMMENT ON COLUMN odsdata.ods_program_error_log.error_backtrace IS '錯誤跟蹤';
COMMENT ON COLUMN odsdata.ods_program_error_log.error_stack IS '錯誤堆棧';
COMMENT ON COLUMN odsdata.ods_program_error_log.call_stack IS '調(diào)用堆棧';
COMMENT ON COLUMN odsdata.ods_program_error_log.error_date IS '錯誤時間';
COMMENT ON COLUMN odsdata.ods_program_error_log.oracle_execute_user IS 'oracle執(zhí)行用戶';
COMMENT ON COLUMN odsdata.ods_program_error_log.um_id IS '操作人員um賬號';

GRANT SELECT, INSERT, UPDATE ON odsdata.ods_program_error_log TO odscde;

3.2 異常處理包

擴展:Oracle 序列詳解(sequence)

package:

CREATE OR REPLACE PACKAGE odscde.pkg_ods_error_handle IS
 --*************************************************
 --功能說明: 錯誤日志
 --參數(shù)說明: i_procedure_name 程序名
 --     i_error_comment  錯誤備注(手工添加的)
 --調(diào)用函數(shù):
 --修改記錄: create by YoYo 2020-12-17
 --*************************************************
 PROCEDURE exception_handle(i_procedure_name IN VARCHAR2,
               i_error_comment IN VARCHAR2);
END pkg_ods_error_handle;

package body:

CREATE OR REPLACE PACKAGE BODY odscde.pkg_ods_error_handle IS
 --*************************************************
 --功能說明: 錯誤日志
 --參數(shù)說明: i_procedure_name 程序名
 --     i_error_comment  錯誤備注(手工添加的)
 --調(diào)用函數(shù):
 --修改記錄: create by YoYo 2020-12-17
 --*************************************************
 PROCEDURE exception_handle(i_procedure_name IN VARCHAR2,
               i_error_comment IN VARCHAR2) IS
  PRAGMA AUTONOMOUS_TRANSACTION; -- !!! 自治事務(wù)
  v_log_info odsdata.ods_program_error_log%ROWTYPE;
 BEGIN
  v_log_info.error_log_id    := '1'; -- 異常錯誤id(一般是 "獲取序列號",此處僅演示)
  v_log_info.procedure_name   := i_procedure_name; -- 程序名
  v_log_info.error_comment    := i_error_comment;
  v_log_info.oracle_execute_user := sys_context('USERENV', 'SESSION_USER'); -- oracle執(zhí)行用戶
  v_log_info.um_id        := nvl(sys_context('USERENV', 'OS_USER'),
                     USER); -- 操作人員um賬號
  v_log_info.error_backtrace   := dbms_utility.format_error_backtrace; -- 錯誤跟蹤
  v_log_info.error_stack     := dbms_utility.format_error_stack; -- 錯誤堆棧
  v_log_info.call_stack     := dbms_utility.format_call_stack; -- 調(diào)用堆棧
  v_log_info.error_date     := SYSDATE;
 
  -- 可選列
  ---- 包屬主
  v_log_info.owner := substr(v_log_info.error_backtrace,
                instr(v_log_info.error_backtrace, '"', 1) + 1,
                (instr(v_log_info.error_backtrace, '.', 1) -
                instr(v_log_info.error_backtrace, '"', 1) - 1));
  ---- 包名
  v_log_info.package_name := substr(v_log_info.error_backtrace,
                   instr(v_log_info.error_backtrace,
                      '.',
                      1) + 1,
                   (instr(v_log_info.error_backtrace,
                       '"',
                       1,
                       2) - instr(v_log_info.error_backtrace,
                             '.',
                             1) - 1));
 
  -- 插入數(shù)據(jù)
  INSERT INTO odsdata.ods_program_error_log
   (error_log_id,
    owner,
    package_name,
    procedure_name,
    error_comment,
    error_backtrace,
    error_stack,
    call_stack,
    error_date,
    oracle_execute_user,
    um_id)
  VALUES
   (v_log_info.error_log_id,
    v_log_info.owner,
    v_log_info.package_name,
    v_log_info.procedure_name,
    v_log_info.error_comment,
    v_log_info.error_backtrace,
    v_log_info.error_stack,
    v_log_info.call_stack,
    v_log_info.error_date,
    v_log_info.oracle_execute_user,
    v_log_info.um_id);
 
  COMMIT;
 END exception_handle;
END pkg_ods_error_handle;

3.3 測試程序

演示報錯:違反唯一性約束

stu_info:

CREATE TABLE odsdata.stu_info (
 sno  NUMBER(10) CONSTRAINT pk_si_sno PRIMARY KEY,
 sname VARCHAR2(50) NOT NULL
);

GRANT SELECT, INSERT, UPDATE ON odsdata.stu_info TO odscde;

INSERT INTO odsdata.stu_info(sno, sname) VALUES(1, '瑤瑤');
COMMIT;

package:

CREATE OR REPLACE PACKAGE odscde.pkg_ods_error_test AS
 PROCEDURE ods_error_test(o_flag  OUT VARCHAR2,
              o_message OUT VARCHAR2);
END pkg_ods_error_test;

package body:

CREATE OR REPLACE PACKAGE BODY odscde.pkg_ods_error_test AS
 PROCEDURE ods_error_test(o_flag  OUT VARCHAR2,
              o_message OUT VARCHAR2) IS
  i_procedure_name VARCHAR2(30) := 'ods_error_test';
 BEGIN
  INSERT INTO odsdata.stu_info (sno, sname) VALUES (1, '瑤瑤');
  COMMIT;
 
  o_flag  := 'Y';
  o_message := '執(zhí)行成功!';
 EXCEPTION
  WHEN OTHERS THEN
   o_flag  := 'N';
   o_message := '執(zhí)行失??!';
   pkg_ods_error_handle.exception_handle(i_procedure_name => i_procedure_name,
                      i_error_comment => '' -- 關(guān)鍵入?yún)?、出?
                      );
 END ods_error_test;
END pkg_ods_error_test;

到此這篇關(guān)于Oracle 錯誤日志表及異常處理包詳解 附源碼的文章就介紹到這了,更多相關(guān)Oracle 錯誤日志表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 解決python3捕獲cx_oracle拋出的異常錯誤問題
  • 詳解Oracle自定義異常示例
  • Oracle中RAISE異常深入分析
  • win7安裝oracle10g 提示程序異常終止 發(fā)生未知錯誤
  • oracle異常(預定義異常,自定義異常)應(yīng)用介紹

標簽:柳州 泰安 銀川 酒泉 梧州 焦作 河源 南陽

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Oracle 錯誤日志表及異常處理包詳解 附源碼》,本文關(guān)鍵詞  Oracle,錯誤,日志,表,及,異常,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle 錯誤日志表及異常處理包詳解 附源碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle 錯誤日志表及異常處理包詳解 附源碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲一区二区三区欧美| 日韩一区二区三区高清| 一道精品视频一区二区三区男同| 免费黄色网址在线观看| 亚洲天堂第二页| 欧美日韩一级在线| 偷拍盗摄高潮叫床对白清晰| 最近日韩中文字幕| 欧美日韩国产高清一区二区| 中国女人内谢69xxx视频| 四虎国产精品永久在线| 日本一区二区久久| 一本不卡影院| 免费在线观看a级片| 日韩欧美亚洲在线| 一本色道久久加勒比88综合| 国产剧情演绎av| 日韩美女一区二区三区在线观看| 免费看污黄网站| 日本一区免费视频| 男人精品网站一区二区三区| 亚洲经典视频在线观看| 人妻互换一区二区激情偷拍| 国产精品国产a| 明星国产一级毛片范冰冰视频| 国产精品亚洲综合在线观看| 一区福利视频| 亚洲一区二区不卡免费| 欧洲av一区| 日韩欧美一区二区三区视频| 国内自拍欧美| 美女做爰内谢全过程视频| 欧美牲交a欧美牲交aⅴ免费真| 一区二区三区日本| 亚洲四虎av| 日本h片在线观看| 青青草手机在线| 综合在线亚洲| 欧美人伦禁忌dvd放荡欲情| 9191国语精品高清在线| 日韩三级.com| 强开小嫩苞一区二区三区网站| 91婷婷韩国欧美一区二区| 久久精品www人人爽人人| 国产精品爱久久久久久久小说| 亚洲精品一级片| 国产免费av一区二区三区| 伊人一区二区三区| www.狠狠lu| 国产美女网站在线观看| 奇米影视777在线欧美电影观看| 精品美女视频在线观看免费软件| 男女羞羞在线观看| 精品sm在线观看| 欧美三级午夜理伦三级中视频| 97在线国产视频| 国产一区二区三区精彩视频| 亚洲v天堂v手机在线| 国产91精品久久久| www.精品| 2023国产在线观看| 在线能看的av| 午夜精品久久久久久久久久久久| 久久久久久9999| 一级特黄a大片免费| 91杏吧porn蝌蚪| 久久久国产一级片| av伦理在线| 国产一线二线三线在线观看| 国产经典视频一区| 99精品电影| 一级淫片免费看| 一区二区在线影院| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 精品中文视频| 欧美视频在线视频精品| 日韩理论电影中文字幕| 国产精品无码自拍| 91破解版在线观看| 一二三级黄色片| 亚洲精品高清视频在线观看| 欧美人与性禽动交精品| 欧美人与性动交α欧美精品| 一广人看www在线观看免费视频| 国产无人区一区二区三区| 亚洲欧洲美洲一区二区三区| 黄页网站一区| 国产精品国产三级国产普通话99| 精品一二三四区| 国产理论在线| 国产高潮失禁喷水爽到抽搐| 少妇愉情理伦三级| 97久久国产亚洲精品超碰热| 久久精品日韩无码| 欧洲一级在线观看| 麻豆影院在线观看| 97av视频在线| 日本欧美在线视频免费观看| 一级黄色片在线看| eeuss鲁一区二区三区| 亚洲美女视频在线观看| 黄页网址大全在线播放| 欧美一区二区三区在线观看| 午夜久久久影院| 欧美午夜一区二区三区免费大片| 国产精品免费视频一区二区三区| 免费观看成人在线视频| 日本精品视频| 久久亚洲AV无码专区成人国产| 一级片在线观看| 思99热精品久久只有精品| 久久精品欧美一区| 麻豆精品国产91久久久久久| 性欧美视频videos6一9| 亚洲人成自拍网站| 免费黄色福利视频| 亚洲电影中文字幕在线观看| 亚洲视频第一页| 欧美二区三区在线| 刘亦菲国产毛片bd| 亚洲乱妇老熟女爽到高潮的片| a级毛片免费观看在线| 亚洲一二三在线观看| 奇米精品一区二区三区在线观看一| 国产精品毛片久久久久久久久久99999999| 精品一级少妇久久久久久久| 一区二区三区av电影| 日韩欧美黄色| 日本高清一区二区视频| 欧洲av在线播放| 免费福利在线| 18aaaa精品欧美大片h| 久久精品国产精品亚洲精品色| 日本aⅴ写真网站免费| 影音先锋亚洲视频| 国产精品偷拍| 亚洲高清一二三区| 免费a级片网站| 日韩欧美国产高清91| 成人美女av在线直播| 国产在线视频第一页| 亚洲a∨精品一区二区三区导航| gogogo高清在线观看免费完整版| 亚洲东热激情| 成人免费高清视频在线观看| 日韩三级在线| 一区二区三区在线免费看| 亚洲精品一区二区三区在线| 日韩国产一区二区三区| 精品一区二区三区三区| 中文字幕成人乱码在线电影| 久久精品国产第一区二区三区最新章节| 亚洲少妇最新在线视频| 亚洲欧美日韩国产中文专区| 麻豆精品蜜桃一区二区三区| 国模大尺度视频一区二区| 青青草视频在线视频| 中文字幕日韩精品有码视频| 日韩欧美在线视频免费观看| 日韩精品欧美激情| 这里只有精品66| 日本h片在线看| 国内精品久久久久久久久| 女人天堂av手机在线| 日本全棵写真视频在线观看| 官网99热精品| 亚洲第一大网站| 国产精品久久97| 国产午夜精品美女视频明星a级| 日韩欧美在线网站| 男人舔女人下部高潮全视频| 97超碰蝌蚪网人人做人人爽| 99久久精品无免国产免费| 欧美一级欧美一级在线播放| 91性高湖久久久久久久久_久久99| 日本在线观看中文字幕| 国产在线第一页| 国产一二区在线观看| 成人精品一区二区三区四区| 中文字幕人成一区| 国产精品扒开腿做爽爽爽a片唱戏| 国产精品色噜噜| 亚洲一区三区视频在线观看| 日韩av首页| 亚洲国产又黄又爽女人高潮的| 天天综合狠狠精品| 亚洲美女免费在线| 成人黄色免费网址| 免费一级suv好看的国产网站| 在线观看国产中文字幕| 亚洲国产高清自拍| 视频一区中文字幕国产| 国产亚洲福利社区一区| 97超级碰碰人国产在线观看| 刘亦菲久久免费一区二区| 97超碰国产一区二区三区| 无码精品在线观看| 亚洲色图88| 337p日本欧洲亚洲大胆色噜噜| 国产精品theporn| 宅男噜噜99国产精品观看免费| 久久久久欧美精品| 欧美成人午夜视频| 成人av在线资源网站| 欧美牲交a欧美牲交aⅴ免费真| 2014亚洲天堂| 欧美图片激情小说| 91视频一区二区三区| 国产精品一久久香蕉国产线看观看| 91精品美女在线| 国产有码在线观看| 国产精品一色哟哟| 丁香花在线电影小说观看| xfplay资源站夜色先锋| 国产黄色一区二区三区| 国产小视频在线播放| 精品视频一区二区三区四区五区| 日本一区二区免费视频| 亚洲精品美女久久久| 97最新国自产拍视频在线完整在线看| 韩国三级hd中文字幕| 天天干天天操天天玩| 国产欧美日韩三区| 一个人免费观看在线视频www| 97香蕉久久超级碰碰高清版| 成人黄色a级片| 欧美精选一区二区| 欧美va天堂va视频va在线| 日韩欧美精品一区| 中文字幕精品一区二区精品| 日韩av懂色| 久久久精品视频免费| 欧美一级大片免费看| 久久99国产精品尤物| 国产日产精品一区二区三区| 精品国产拍在线观看| 国产jjizz一区二区三区视频| 天天看片激情网站| 欧美色欧美亚洲另类七区| 日韩精品福利片午夜免费观看| 美女喷水白浆| 国产伦精品一区二区三区视频金莲| 少妇高潮大叫好爽喷水| 91精品国产色综合久久久蜜香臀| 亚洲美女视频在线免费观看| 成人黄色av| 精品国产乱码久久久久久鸭王1| 秋霞欧美一区二区三区视频免费| 亚洲国产一区二区三区在线观看| 少妇性饥渴无码a区免费| 久久综合九色综合欧美亚洲| 亚洲精品免费在线视频| 精品免费在线观看| 性欧美1819sex性高清大胸| 日本一区二区三区在线观看视频| 性色av香蕉一区二区| 久久久精品视频成人| 亚洲午夜av| 国产激情视频在线播放| jazzjazz国产精品久久| 1级黄色大片儿| 精品一区二区三区在线观看l| 国产伦精品一区二区三区四区视频| 丰满熟女人妻一区二区三区| 久久精品视频免费在线观看| 日本视频在线免费观看| 国产高清美女一级毛片久久| 亚洲依依成人| 涩爱av在线播放一区二区| 日本中文字幕久久| 日韩一区二区三区在线| 国产尤物91| 和岳每晚弄的高潮嗷嗷叫视频| 黄色网址免费在线| 激情久久久久久| 范冰冰一级做a爰片久久毛片| 在线综合欧美| 日韩av不卡在线观看| 97超碰成人| 亚洲精品日产aⅴ| 成人久久久精品乱码一区二区三区| 免费成人你懂的| 亚洲精品乱码久久久久久动漫| 色吧影院999| 亚洲高清影院| 亚洲私人黄色宅男| 给个网站可以在线观看你懂的| 久久久久久久久久久久久久国产| 亚洲精品一区二区三区网址| 午夜精品亚洲一区二区三区嫩草| 久久精品五月天| 日韩电影网1区2区| 国产日韩欧美一区二区东京热| 亚洲欧美一二三| www视频免费看| 怡红院男人天堂| 亚洲电影成人| 黄页在线免费观看| 五月天中文字幕| 亚洲成人精品| 国产精彩视频在线| 免费国产在线观看| 国产午夜精品全部视频在线播放| 3d动漫精品啪啪一区二区竹菊| 日本在线免费观看一区| 亚洲激情小视频| 大吊一区二区三区| 亚洲成人精品女人久久久| 黄色片视频在线免费观看| 国产wwwxxx| 在线视频你懂得一区| 久久综合图区亚洲综合图区| 蜜臀av午夜精品久久| 中文字幕av在线一区二区三区| 欧美性猛交p30| 在线免费观看h视频| 午夜性福利视频| 午夜精品美女自拍福到在线| 国产成人香蕉在线视频网站| 国产激情视频网站| 不卡视频一区二区三区| 你懂的视频在线一区二区| 福利一区二区在线观看| 中文写幕一区二区三区免费观成熟| 国产高清不卡一区| 亚洲精品一区三区三区在线观看| 亚洲欧美激情国产综合久久久| www.夜夜操.com|