ORACLE--Function异常处理(EXCEPTION)
存储过程在抛出异常的时候可以通过下面的代码,去获取异常并把异常UPDATE到某个字段内,方便在检查数据时,查看数据抛出的异常。
WHEN OTHERS THEN--ROLLBACK;--获取异常信息V_ERRCODE:= SQLCODE ;V_ERRMSG:= SUBSTR(SQLERRM , 1, 150);--同步存储过程出现错误 2 -- 同步失败UPDATE PRPDRATIONCLAUSEKINDTEMPSET STATUS = '2',ERRMSG = V_ERRMSG,ERRCODE = V_ERRCODEWHERE RATIONCODE = CCIC_RATION_DETAIL.RATIONCODEAND CLAUSECODE = CCIC_RATION_DETAIL.CLAUSECODEAND KINDCODE = CCIC_RATION_DETAIL.KINDCODE;COMMIT;
1、通过PL/SQL运行时引擎 2、使用RAISE语句 3、调用RAISE_APPLICATION_ERROR存储过程 //抛出异常方式讲解1、当数据库或PL/SQL在运行时发生错误时,一个异常被PL/SQL运行时引擎自动抛出。2、异常也可以通过RAISE语句抛出,如:RAISE exception_name; 3、RAISE_APPLICATION_ERROR内建函数用于抛出一个异常并给异常赋予一个错误号以及错误信息(自定义异常的缺省错误号是+1,缺省信息是User_Defined_Exception)个人感觉前两个经常会用到,第三个好像不太常用。