码迷,mamicode.com
首页 > 数据库 > 详细

【PL/SQL】异常处理:

时间:2016-11-26 16:56:43      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:data   rod   ror   family   定义   where   size   exce   select   

如果在PLSQL块中没有做异常处理,在执行PLSQL块时,出现异常,会传递到调用环境,导致程序运行出错!

SCOTT@ prod> declare
   2  
   3   v_ename emp.ename%type;
   4   v_sal   emp.sal%type;
   5  
   6  begin
   7    
   8    select ename,sal into v_ename,v_sal from emp where deptno=&n;
   9    
  10    dbms_output.put_line(v_ename||:||v_sal);
  11    
  12  
  13  end;

1.预定义异常:
TOO_MANY_ROWS  在隐式游标处理时,select 返回行数超过一行

SQL> declare
  2  
  3   v_ename emp.ename%type;
  4   v_sal   emp.sal%type;
  5  
  6  begin
  7  
  8    select ename,sal into v_ename,v_sal from emp where deptno=&n;
  9  
 10    dbms_output.put_line(v_ename||:||v_sal);
 11  
 12  exception
 13    when too_many_rows then
 14         dbms_output.put_line(You return rows more than one !);
 15    when others  then
 16         dbms_output.put_line(Other‘‘s error !);
 17  end;

2.NO_DATA_FOUND   在访问数据时,没有发现数据。

SQL> declare
  2  
  3   v_ename emp.ename%type;
  4   v_sal   emp.sal%type;
  5  
  6  begin
  7  
  8    select ename,sal into v_ename,v_sal from emp where empno=#
  9  
 10    dbms_output.put_line(v_ename||:||v_sal);
 11  
 12  exception
 13    when no_data_found then
 14         dbms_output.put_line(No data found ,Please input correct number !);
 15    when others  then
 16         dbms_output.put_line(Other‘‘s error !);
 17  end;

3.ZERO_DIVIDE   除数为零

SQL> declare
  2  
  3    v_num1 number :=10;
  4    v_num2 number ;
  5    v_num3 number;
  6  
  7  begin
  8     v_num2 := &nn;
  9  
 10     v_num3 := v_num1 / v_num2 ;
 11  
 12     dbms_output.put_line( Number is : ||v_num3);
 13  exception
 14      when zero_divide then
 15       dbms_output.put_line( Divisor is equal to zero,Please input correct Number !);
 16      when others  then
 17      dbms_output.put_line(Other‘‘s error !);
 18  end;

 

【PL/SQL】异常处理:

标签:data   rod   ror   family   定义   where   size   exce   select   

原文地址:http://www.cnblogs.com/tomatoes-/p/6104404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!