一 概念
定义变量,类型是exception
使用raise抛出自定义例外
二 自定义例外代码结构
三 代码
--自定义例外:查询50号部门的员工姓名set serveroutput ondeclare--定义光标,代表50号部门的员工姓名cursor cemp isselect ename from emp where deptno =50;pename emp.ename%type;--自定义例外no_emp_found exception;beginopen cemp;--直接取一个员工的姓名fetch cemp into pename;if cemp%notfound then--抛出例外raise no_emp_found;endif;--关闭光标--抛出异常,这个地方是不是没有关闭呢?--关闭了,oracle自动启动pmon进程,pmon进程会调用close cempclose cemp;exceptionwhen no_emp_found then dbms_output.put_line('没有找到员工');when others then dbms_output.put_line('其他例外');end;/
四 运行结果
没有找到员工