大家好!现在存储过程中有2点需求:(过程体如下) 
.....
begin 
     for cur1 in (select main_col,col1,col2 from tab) loop
          exit when cur1.main_col is null ;
     .................
     end loop;
exception
     when others then
        ......异常处理信息
      rollback;     
end;1、在游标cur1循环时,判断如果main_col的值为空,则结束过程,并且抛出异常信息。2、所有的异常信息都保存到本地的一个以当前时间命名的txt文件中。

解决方案 »

  1.   

    建个ErrorLog表,在异常处理里面加一句insert into ErrorLog .. sysdate,errorMsg不就搞定了,不用那么麻烦吧,
      

  2.   

    放表里面比较方便啊,看看这个http://log4plsql.sourceforge.net/
      

  3.   

    1、2 楼的方法我也考虑过。
    但考虑用户不懂技术,所以不希望通过查询error log表来检查存储过程执行是否出错。
    如果能够将异常信息保存到本地文件,用户检查起来就非常简单了。
      

  4.   

    在过程里将数据写入外部文件貌似不可行
    我认为可以建个errorlog表,过程结束后或会话结束前,通过程序端读取errorlog表中的数据,写入外部log文件,将这一步放在程序端运行