89ou 发表于 2018-9-14 07:14:13

oracle procedure 异常处理

  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;

页: [1]
查看完整版本: oracle procedure 异常处理