关闭

PL/SQL exception(例外)

标签: plsqlexception
309人阅读 评论(0) 收藏 举报
分类:
/*

例外(exception):
1.系统定义的例外
2.自定义的例外

系统例外
1.No_data_found 没有找到数据
2.Too_many_rows select ... into语句匹配了多个行
3.Zero_Divide 被零除
4.Value_error 算术或转换错误
5.Timeout_resource 在等待资源时发生超时
*/

--no_data_found
set serveroutput on
declare
   pename emp.ename%type;
 begin
   --没有编号为1234的员工
   select ename from emp where empno=1234;
   exception 
    when no_data_found then dbms_output.put_line("没有找到该员工!");
    --when ...
    when others then dbms_output.put_line("其他例外!");
 end;

 --to_many_rows
 set serveroutput on 
 declare
 pename emp.ename%type;
 begin
    select ename into pename from emp where deptno = 10;
   exception
   when too_many_rows then dbms_output.put_line(1);
   when others then dbms_output.put_line(2)
 end;

 --Zero_Divide

 --Value_error

 --自定义exception
 --定义变量,类型是exception 
 --使用raise 抛出自定义例外
 set serveroutput on
 declare
 cursor cemp is select ename from emp where deptno=123;
 pename emp.ename%type;

 --自定义exception
 no_emp_found exception;
 begin
 open cemp;
 fetch cemp into pename;
 if cemp%notfound then
 raise no_emp_found;
 end if;

 --oracle 自动启动pmon调用 关掉光标
 close cemp;

 exception
  when no_emp_found then dbms_output.put_line("没有找到员工");
 end;
0
0
查看评论

ORACLE PL/SQL异常处理(Exception)学习--比较全,看完了基本应用及原理就了解了

1、PL/SQL错误类型错误类型 报告者 处理方法 编译时错误 PL/SQL编译器 交互式地处理:编译器报告错误,你必须更正这些错误 运行时错误 PL/SQL运行时引擎 程序化地处理:异常由异常处理子程序引发并进行捕获&...
  • akuoma
  • akuoma
  • 2010-01-20 17:20
  • 5217

PL/SQL处理例外3(PL/SQL编译警告)

1、PL/SQL警告分类 SEVERE:该种警告用于检查可能出现的不可预料结果或错误结果,例如参数的另外问题。 PERFORMANCE:该类警告用于检查可能引起的性能问题,例如在执行INSERT操作时为NUMBER列提供了VARCHAR2类型的数据。 INFORMATIONAL:该类警告用于检...
  • com185272358
  • com185272358
  • 2014-03-22 11:54
  • 1000

oracle pl/sql 例外(exception) 异常

例外:是一种pl/sql 标志符,如果运行pl/sql 出现错误或警告则抛出异常 例外3种类型:预定义例外、非预定义例外,自定义例外 预定义例外:由pl/sql 所提供的系统例外 常见类型如下: access_into_null    对象没...
  • oypj2010
  • oypj2010
  • 2011-10-16 11:55
  • 772

ORACLE PL/SQL异常处理(Exception)学习笔记

1、PL/SQL错误类型错误类型报告者处理方法编译时错误PL/SQL编译器交互式地处理:编译器报告错误,你必须更正这些错误运行时错误PL/SQL运行时引擎程序化地处理:异常由异常处理子程序引发并进行捕获  2、异常的声明有两种异
  • wh62592855
  • wh62592855
  • 2009-10-28 08:51
  • 16425

PL/SQL常用例外

ORACLE PL/SQL 例外处理 1) 基本结构 BEGIN ... --语句 EXCEPTION -- 例外处理 WHEN ... ... WHEN OTHERS ... END; 2) 常用预定义例外 EXCEPTION WHEN CURSOR_ALREADY_O...
  • wu21pingguo
  • wu21pingguo
  • 2012-08-20 15:05
  • 152

PL/SQL处理例外

  Oracle内置函数SQLCODE和SQLERRM是特别用在OTHERS处理器中,分别用来返回Oracle的错误代码和错误消息。      OTHERS处理器应该是异常处理块中的最后的异常处理器,因为它是用来捕获除了别的异常处理器处理以外的所有的Oracle异常,所以在程序的...
  • mjj291268154
  • mjj291268154
  • 2015-02-05 17:57
  • 363

PL/SQL之例外

1.例外的概念 在oracle中错误被叫做例外:分为系统例外和自定义例外。 2.系统例外 No_data_found(没有找到数据)、Too_many_rows(select ... into 语句匹配多个行)、Zero_Divide(被零除)、Value_error(算数或转换错误)、Tim...
  • huazicomeon
  • huazicomeon
  • 2016-12-07 11:31
  • 257

PL/SQL预定义例外

处理预定义例外当PL/SQL程序违反了ORACLE规则或系统限制时,就会隐含的触发一个内部例外。为了处理常见的ORACLE错误,PL/SQL为开发人员提供了二十多个预定义例外,每个预定义例外都对应一个ORACLE系统错误。预定义例外预定义例外名解释ACCESS_INTO_NULL为对象赋值前必需初始
  • lord_is_layuping
  • lord_is_layuping
  • 2010-04-21 00:55
  • 1010

PL/SQl自定义例外

一 概念 定义变量,类型是exception 使用raise抛出自定义例外   二 自定义例外代码结构     三 代码 --自定义例外:查询50号部门的员工姓名 set serveroutput on declare --定义光标,代表5...
  • chengqiuming
  • chengqiuming
  • 2017-11-22 11:44
  • 15

PL/SQL例外概念和系统例外

一 定义 例外是程序设计语言提供的一种功能,用来增强程序的健壮性和容错性。   二 分类 1、系统例外 No_data_found:没有找到数据。 Too_many_rows:select...into语句匹配多行。 Zero_Divide:被零除。 Value_error...
  • chengqiuming
  • chengqiuming
  • 2017-11-22 11:43
  • 14
    个人资料
    • 访问:112607次
    • 积分:2669
    • 等级:
    • 排名:第16122名
    • 原创:146篇
    • 转载:53篇
    • 译文:1篇
    • 评论:21条
    博主
    博客专栏