首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

PL/SQL(oracle)5_错误

2012-09-24 
PL/SQL(oracle)5_异常一、异常概念:指的是程序在运行过程中出现的错误,当异常发生时,可执行部分的代码会终

PL/SQL(oracle)5_异常

一、异常概念:指的是程序在运行过程中出现的错误,当异常发生时,可执行部分的代码会终止运行,
转到响应的异常处理机部分去继续执行。
二、异常的触发方式?
??? 自动触发:当满足一定的条件时,自动发生的异常。
??? 手动触发:需要程序员在块中写raise语句来发生异常。
三、异常的处理方式????
??? 在自己的块中写异常处理机。
??? 在调用环境中传播。
四、异常的类型
??? 1、预定义异常:由Oracle服务器事先声明好的异常,自动被触发的,有名字,有编号。
??? 2、未预定义异常:自动被触发,有编号,没名字。
??? 3、自定义异常:oracle不自动提供,手动触发的,没名字,没编号。
五、如果写异常处理机:
??? Exception
?????? When 异常名字1 [Or? 异常名字2 ....] Then
??????????? 异常处理代码;
????【When 异常名字11 [Or? 异常名字21 ....] Then
??????????? 异常处理代码;
?????? When Others then
??????????? 异常处理代码;】
六、如何处理预定义异常?
?? 在exception部分写异常处理机即可。
?? 练习:使用insert子句,把员工表中的数据复制一边,要写异常处理代码。

    Declare           too_high_exception Exception;           too_low_exception Exception;           v_avgsal emp.sal%Type;    Begin          Select Avg(sal) Into v_avgsal  From emp;                   If v_avgsal >5000 Then             Raise too_high_exception;          Else             Raise too_low_exception;          End If;    Exception          When too_high_exception Then               dbms_output.put_line('平均工资太高');          When too_low_exception Then                  dbms_output.put_line('平均工资正常');    End;
?


十、异常传递????
????? 略。

热点排行