PL/SQl自定义例外

一 概念

定义变量,类型是exception
使用raise抛出自定义例外
 
二 自定义例外代码结构


 
 
三 代码
  1. --自定义例外:查询50号部门的员工姓名
  2. set serveroutput on
  3. declare
  4. --定义光标,代表50号部门的员工姓名
  5. cursor cemp isselect ename from emp where deptno =50;
  6. pename emp.ename%type;
  7. --自定义例外
  8. no_emp_found exception;
  9. begin
  10. open cemp;
  11. --直接取一个员工的姓名
  12. fetch cemp into pename;
  13. if cemp%notfound then
  14. --抛出例外
  15. raise no_emp_found;
  16. endif;
  17. --关闭光标
  18. --抛出异常,这个地方是不是没有关闭呢?
  19. --关闭了,oracle自动启动pmon进程,pmon进程会调用close cemp
  20. close cemp;
  21. exception
  22. when no_emp_found then dbms_output.put_line('没有找到员工');
  23. when others then dbms_output.put_line('其他例外');
  24. end;
  25. /
 
四 运行结果
没有找到员工

猜你喜欢

转载自cakin24.iteye.com/blog/2389504