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;