zoukankan      html  css  js  c++  java
  • Oracle中异常处理方法

      在写存储过程中,有时候需要返回出错的原因,以方便查看记录。

      Oracle提供了以下异常:

      1.预定义异常:用于处理常见的Oracle错误。

      2.非预定义异常:用于处理预定义异常所不能处理的Oracle错误。

      3.自定义异常:用于处理Oracle错误无关的其它情况。

      异常处理以关键字Exception开始,语法如下:

      EXCEPTION
          WHEN  exception_Name THEN  --exception_Name为异常的名字
             statement1;

       WHEN OTHERS THEN
          statement1;

     常见系统异常参考表:

    命名的系统异常         产生原因 
     access_into_null        未定义对象 
     CASE_NOT_FOUND       CASE 中若未包含相应的 WHEN ,并且没有设置 ELSE 时 
     COLLECTION_IS_NULL     集合元素未初始化 
     CURSER_ALREADY_OPEN    游标已经打开 
     DUP_VAL_ON_INDEX       唯一索引对应的列上有重复的值 
     INVALID_CURSOR        在不合法的游标上进行操作 
     INVALID_NUMBER        内嵌的 SQL 语句不能将字符转换为数字 
     NO_DATA_FOUND        使用 select into 未返回行,或应用索引表未初始化的元素时 

      TOO_MANY_ROWS        执行 select into 时,结果集超过一行 
      ZERO_DIVIDE          除数为 0 
      SUBSCRIPT_BEYOND_COUNT  元素下标超过嵌套表或 VARRAY 的最大值 
      SUBSCRIPT_OUTSIDE_LIMIT   使用嵌套表或 VARRAY 时,将下标指定为负数 
      VALUE_ERROR          赋值时,变量长度不足以容纳实际数据 
      LOGIN_DENIED          应用程序连接到 oracle 数据库时,提供了不正确的用户名或密码 
      NOT_LOGGED_ON         PL/SQL 应用程序在没有连接 oralce 数据库的情况下访问数据 
      PROGRAM_ERROR         PL/SQL 内部问题,可能需要重装数据字典& pl./SQL 系统包 
      ROWTYPE_MISMATCH       宿主游标变量与 PL/SQL 游标变量的返回类型不兼容 
      SELF_IS_NULL          使用对象类型时,在 null 对象上调用对象方法 
      STORAGE_ERROR         运行 PL/SQL 时,超出内存空间 
      SYS_INVALID_ID         无效的 ROWID 字符串 
      TIMEOUT_ON_RESOURCE    Oracle 在等待资源时超时 

    示例:

    DECLARE
        e_integrity EXCEPTION;  --1、定义部分
        PRAGMA EXCEPTION_INIT (e_integrity, -2291);  --2、建立关联关系
    BEGIN
        Update  emp Set deptno=  :dno Where  empno= :eno;
    EXCEPTION
        WHEN  e_integrity THEN  --3、捕捉处理
          DBMS_OUTPUT.PUT_LINE(该部门不存在);
    END;


  • 相关阅读:
    .net类库里ListView的一个BUG
    获取lable的caption, 摘抄还未测试可用否
    (转) lua实现split的简易方法
    2. SharePoint Online 开发,请联系qq512800530。加好备注。(不要发站内信。。。)
    1. android
    开发人员应关注的20个jQuery网站/博客
    Temp
    彩票项目开发节项
    求android ble 解决方案!
    自己开发的工作流引擎
  • 原文地址:https://www.cnblogs.com/ZHF/p/1863632.html
Copyright © 2011-2022 走看看