zoukankan      html  css  js  c++  java
  • PL/SQL异常获取

    1.no_data

    SET SERVEROUTPUT ON
    DECLARE pename EMP.ENAME % TYPE ;
    BEGIN
        SELECT
            ename INTO pename
        FROM
            emp
        WHERE
            empno = 1234 ; EXCEPTION
        WHEN no_data_found THEN
            dbms_output.put_line ('没有找到该员工') ;
        WHEN others THEN
            dbms_output.put_line ('其他例外未知') ;
        END ;
      /

    2.too_many_rows匹配多行

     1 SET SERVEROUTPUT ON
     2 DECLARE pename EMP.ENAME % TYPE ;
     3 BEGIN
     4     SELECT
     5         ename INTO pename
     6     FROM
     7         emp
     8     WHERE
     9         deptno = 10 ; EXCEPTION
    10     WHEN too_many_rows THEN
    11         dbms_output.put_line (
    12             'select inti 匹配了多行'
    13         ) ;
    14     WHEN others THEN
    15         dbms_output.put_line ('其他例外') ;
    16     END ;
    17 /

    3.zero_divide

     1 SET SERVEROUTPUT ON
     2 DECLARE pnum NUMBER ;
     3 BEGIN
     4     pnum := 1 / 0 ; EXCEPTION
     5 WHEN zero_divide THEN
     6     DBMS_OUTPUT.PUT_LINE ('1/0 不能做除数') ; dbms_output.put_line ('零不能做除数') ;
     7 WHEN others THEN
     8     dbms_output.put_line ('其他错误') ;
     9 END ;
    10 /

    4.VALUE_ERROR

     1 SET SERVEROUTPUT ON
     2 DECLARE pnum NUMBER ;
     3 BEGIN
     4     pnum := 'abc' ; EXCEPTION
     5 WHEN VALUE_ERROR THEN
     6     DBMS_OUTPUT.PUT_LINE ('字符转换错误') ;
     7 WHEN others THEN
     8     dbms_output.put_line ('其他错误') ;
     9 END ;
    10 /
  • 相关阅读:
    云架构师进阶攻略(1)
    针对云主机卡死问题的定位分析方法
    让App飞久一点
    OC静态代码检查实战
    PAT 1010. 一元多项式求导
    PAT 1009. 说反话
    PAT 1008 数组元素循环右移问题
    PAT 1007. 素数对猜想
    PAT 1006 换个格式输出整数
    PAT 1005 继续(3n+1)猜想
  • 原文地址:https://www.cnblogs.com/kamil/p/6072320.html
Copyright © 2011-2022 走看看