zoukankan      html  css  js  c++  java
  • PL/SQL 08 异常 exception

    --PL/SQL错误
      编译时
      运行时

    --运行时的出错处理
      EXCEPTION


    --异常处理块
    DECLARE
     …
    BEGIN
     …
    EXCEPTION
     WHEN OTHERS THEN
      handler_error(…);
    END;


    --用户自定义的异常
    DECLARE
     e_TooManyStudents EXCEPTION;
     …
    BEGIN
     …
     RAISE e_TooManyStudents;
     …
    EXCEPTION
     WHEN e_TooManyStudents THEN
      …
    END;


    --预定义的ORACLE异常
    ORA-0001
      DUP_VAL_ON_INDEX
    ORA-0051
      TIMEOUT_ON_RESOURCE
    ORA-1001
      INVALID_CURSOR

    ORA-6533
      SUBSCRIPT_BEYOND_COUNT


    --触发异常
    RAISE exception_variable
    DECLARE
      A EXCEPTION
    BEGIN
      …
      RAISE A;
      …
      EXCEPTION
        WHEN A THEN
        …
    END;


    --处理异常
    EXCEPTION
      WHEN e_TooManyStudents THEN
        INSERT INTO log_file(info) 
        VALUES(‘Major 1100 has ‘ || v_CurStudents || ’ max aloowed is ‘ || v_Max);
    END;


    --处理所有的异常
    EXCEPTION
      WHEN e_TooManyStudents THEN
        …
      WHEN OTHERS THEN
        v_ErrCode := SQLCODE;
        v_ErrText := SUBSTR(SQLERRM, 1, 200);
        INSERT INTO log_file(code, message, info)
        VALUES(v_ErrCode, v_ErrText, ‘ORACLE Error’);
    END;

  • 相关阅读:
    如何在magento添加推荐分类
    Apache和iis的冲突处理
    怎么在windows7下搭建服务器
    centos dns配置
    wget net-tools
    centos7 ip地址设置
    centos 7 u盘安装
    centos7 u盘启动路径设置
    screen 命令
    lnmp重置mysql密码
  • 原文地址:https://www.cnblogs.com/john2017/p/6364517.html
Copyright © 2011-2022 走看看