欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-05 22:53:10
用户自定义异常 PL/SQL允许根据程序的需要定义自己的异常。用户定义的异常必须声明,然后明确地提出使用一个RAISE语句或程序DBMS_STANDARD.RAISE_APPLI...

用户自定义异常

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;

运行结果截图:

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