PL/SQL异常

来源:互联网 发布:小学生 口语 打卡软件 编辑:程序博客网 时间:2024/05/17 03:09

一.异常
在oracle中的异常分为3种异常,第一种是预定义异常,这种异常是oracle已经定义好名称的异常,也就是异常名称和异常编码是对应好的。例如:NO_DATE_FOUND 错误编码为+100。第二种就是非预定义异常:这种异常就是有oracle已经给定了错误编码和错误描述,所以不会被触发。当声明一个异常名字并且关联到异常编码,当有异常时就能自动触发。第三种就是自定义异常,需要自己决定异常触发的条件,并且显示触发即用代码调用异常。

--1.非预定义异常declare   var_id number(4);  test_exception EXCEPTION;  pragma exception_init(test_exception,-00001);begin  var_id:=11;  update emp e set e.empno = var_id where e.empno = 10;  exception    when test_exception then      dbms_output.put_line(SQLERRM);      rollback;end;--2.自定义异常declare   var_id number(4);  test_exception exception;  pragma exception_init(test_exception,-2000);begin  select e.empno into var_id from emp e where e.mgr = 7902;  if var_id > 100 then    raise test_exception;   end if;   dbms_output.put_line('===========');  exception    when test_exception then      dbms_output.put_line('大于10');    when TOO_MANY_ROWS then      dbms_output.put_line('too many');end;
0 0
原创粉丝点击