oracle实现自动记录存储过程、自定义函数执行错误
CREATE OR REPLACE Package Pkg_Stm_Prgerrlog As --Purpose: 实现记录系统错误异常信息,便于问题跟踪 Procedure Sp_Stm_Prgerrlog(p_Sqlcode Varchar2, p_Sqlerrm Varchar2, p_Txt Varchar2 Default Null, P_ErrSource Varchar2 Default Null); End Pkg_Stm_Prgerrlog; CREATE OR REPLACE Package Body Pkg_Stm_Prgerrlog As --Purpose:实现记录系统错误异常信息,便于问题跟踪 Procedure Sp_Stm_Prgerrlog(p_Sqlcode Varchar2, p_Sqlerrm Varchar2, p_Txt Varchar2 Default Null, P_ErrSource Varchar2 Default null) Is Pragma Autonomous_Transaction; Begin Insert Into Stm_Prgerrlog (Stmprgerrlogkey, Sqlcode, Sqlerrm, Txt,ErrSource,CrtDate) Values (Sq_Stm_Prgerrlog.Nextval, p_Sqlcode, p_Sqlerrm, p_Txt,Upper(P_ErrSource),Sysdate); Commit; Exception When Others Then Rollback; End Sp_Stm_Prgerrlog; End Pkg_Stm_Prgerrlog;
wala-wo