createorreplaceproceduresp_lsf(v_khsqvarchar2)as
V_SQLERRvarchar2(4000);
V_CODEVARCHAR2(4000);
begin
updateusersetSCDL='22'wherekhdxdh=100;
---异常拦截方法体
exception
WHENOTHERSTHEN
V_SQLERR:=SQLCODE||':'||SQLERRM;
ROLLBACK;
------在这个地方可以调用一个日子公用的方法体,把错误存储到表中去
xxxxxooooo
-----
---打印
dbms_output.put_line(V_SQLERR);
dbms_output.put_line(SQLCODE);
dbms_output.put_line(SQLERRM);
endsp_lsf;
第二种就是在过程的最后加上
--声明出错处理
declareexithandlerforsqlexception
begin
seti_code=sqlcode;
commit;
dbms_output.put_line(i_code);
end;
转载于:https://blog.51cto.com/4957068/1306859