异常结束后继续执行

当你运行一个过程,例如:
 
Declear
Begin
      DELETE TABLE t_a where .....;
      UPDATE t_b set .....;
      DELETE TABLE t_c where .....;
Exception
      WHEN OTHERS THEN
              ..............;
End;
 
如果其中一步发生异常,但我依然想继续执行下面的程序,按照上面的代码是不可能的。只要发生异常程序只会去到  Exception 的块中。
 
那怎么办呢?
 
只要你将程序改成:
 
Declear
Begin
 
       begin
            DELETE TABLE t_a where .....;
       Exception
            WHEN OTHERS THEN
               null;
       end;
 
 
       begin
            UPDATE t_b set .....;
       Exception
            WHEN OTHERS THEN
               null;
       end;
 
 
       begin
            DELETE TABLE t_c where .....;
       Exception
            WHEN OTHERS THEN
               null;
       end;
Exception
      WHEN OTHERS THEN
              ..............;
End;
 
 
现在就可以实现你想要的程序流程了。
 
第一步,删除表 t_a 时,如果发生异常,程序就会进入匿名块的异常处理,而且异常处理并不进行任何处理,之后程序将进行 UPDATE t_b 的步骤。

你可能感兴趣的:(oracle_error,oracle_basic)