PL/SQL用户自定义异常操作的实例讲解

用户自定义异常

PL/SQL允许根据程序的需要定义自己的异常。用户定义的异常必须声明,然后明确地提出使用一个RAISE语句或程序DBMS_STANDARD.RAISE_APPLICATION_ERROR。

声明一个异常的语法是:

DECLARE
   my-exception EXCEPTION;

操作实例源码:

-- Created on 2018/4/2 by E.WANG 
/*
PL/SQL允许根据程序的需要定义自己的异常。
用户定义的异常必须声明,
然后明确地提出使用一个RAISE语句或程序DBMS_STANDARD.RAISE_APPLICATION_ERROR。
*/

DECLARE
    /*
    创建与属性对应类型的变量;
    通过%获取表属性类型
    */
   e_empno    emp.empno%type;
   e_ename    emp.ename%type;
   e_job      emp.job%type;
   --定义一个无效的员工编号异常
   invalid_empno_expection exception;
BEGIN
   --e_empno值为-10
   e_empno:=-10;
   --给变量赋值
   if e_empno<0 then
      raise invalid_empno_expection;
   else
     SELECT ename,job INTO e_ename,e_job
     FROM emp
     WHERE empno=e_empno;
   end if;
   
   --输出对应变量的值
   dbms_output.put_line('employee No:' || e_empno || 'employee Name: '|| e_ename || 'employee Position: ' || e_job);
   exception 
       when invalid_empno_expection then
          dbms_output.put_line('Emno must be greater than zero!');  
       when  no_data_found then
          dbms_output.put_line('No such customer!');
       when others then
         dbms_output.put_line('Error!'); 

END;

运行结果截图:

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐