日期:2014-05-17  浏览次数:20701 次

关于ORACLE存储过程,对于你们应该很简单
一个简单的存储过程如下:
begin
    (1)查询select   ;
    (2)更新数值update   ;

EXCEPTION
      WHEN   OTHERS   THEN
      (a)rollback;
      (b)更新状态update
      (c)commit;
end;

请问,按目前写法的,无异常发生的执行过程是什么?有异常发生的执行顺序是什么?
其实我想问的就是,异常发生后,WHEN   OTHERS   THEN后面是执行一条命令,还是执行END之前的所有命令?
谢谢。

------解决方案--------------------
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html
------解决方案--------------------
无异常(1)查询select ;
(2)更新数值update ;
有异常
a)rollback;
(b)更新状态update
(c)commit;


------解决方案--------------------
异常发生后,WHEN OTHERS THEN后面将执行
(a)rollback;
(b)更新状态update
(c)commit;
------解决方案--------------------

1.程序开始 begin
2.查询select
如果查询select无异常则到第3步
如果查询select有异常则到EXCEPTION
3.更新数值update
如果更新数值update无异常则结束过程
如果更新数值update有异常则到EXCEPTION

例外:EXCEPTION
a)rollback; --回滚这个过程从开始到异常这步的所有操作
(b)更新状态update --执行UPDATE操作
(c)commit; --提交上述操作

大概的流程就是这样的吧