Oracle数据库的异常处理

一:说明

  Oracle数据库底册定义了很多异常,每个异常都有一个唯一的编码,这些异常之中,有一些是常见的,Oracle给这些异常定义了名称,可以直接使用,其他没有名称直邮编码的不能直接使用。

二:分类

  1)预定义异常

      既有编码又有名称的异常是预定义异常,此类异常可以直接使用

  2)非预定义异常

      有编码但没有名称的异常是非预定义异常,此类异常不能直接使用,要想使用需要先声明一个异常名与编码绑定。

  3)自定义异常

      既没有编码又没有名称的异常是自定义异常,此类异常需要我们自己定义

三:异常的使用

  1)预定义异常的使用

    a.语法

      exception

        when 异常名 then

        --异常处理

    b.练习:使用two_many_rows预定义异常

    declare

      a number;

    begin

      select sal into a from emp;

      exception

        when too_many_rows then

          dbms_output.put_line('多行对一行,不可以');

    end;

    /

  2)非预定义异常的使用

    a.语法

      declare  

        --声明异常

        异常名 exception;

        --绑定异常编码

        pragma exception _init(异常名,编码);

      begin

        exception

          when 异常名 then  

            --异常处理

      end;

      /

  3) 自定义异常的使用

    a、语法

      declare
        --声明异常
        异常名 exception;
       begin
          --某条件发生时,抛出异常
          raise 异常名;
          exception
          when 异常名 then
              --异常处理
       end;
        /

 

posted @ 2018-05-17 16:15  Coding_Now  阅读(1641)  评论(0编辑  收藏  举报