zoukankan      html  css  js  c++  java
  • 异常

    18. 异常的基本程序: 通过 select ... into ... 查询某人的工资, 若没有查询到, 则输出 "未找到数据"

    declare
      --定义一个变量
      v_sal employees.salary%type;
    begin
      --使用 select ... into ... 为 v_sal 赋值
      select salary into v_sal from employees where employee_id = 1000;
      dbms_output.put_line('salary: ' || v_sal);
    exception
      when No_data_found then 
           dbms_output.put_line('未找到数据');
    end;

    declare
      --定义一个变量
      v_sal employees.salary%type;
    begin
      --使用 select ... into ... 为 v_sal 赋值
      select salary into v_sal from employees;
      dbms_output.put_line('salary: ' || v_sal);
    exception
      when No_data_found then 
           dbms_output.put_line('未找到数据!');
      when Too_many_rows then 
           dbms_output.put_line('数据过多!');     
    end;

    19. 更新指定员工工资,如工资小于300,则加100;对 NO_DATA_FOUND 异常, TOO_MANY_ROWS 进行处理.






    20. 处理非预定义的异常处理: "违反完整约束条件"

    declare
      --1. 定义异常
      temp_exception exception;
      --2. 将其定义好的异常情况,与标准的ORACLE错误联系起来,使用EXCEPTION_INIT语句
      PRAGMA EXCEPTION_INIT(temp_exception, -2292);
    begin
      delete from employees where employee_id = 100;
    exception
      --3. 处理异常
      when temp_exception then
           dbms_output.put_line('违反完整性约束!');
    end;

    21. 自定义异常: 更新指定员工工资,增加100;若该员工不存在则抛出用户自定义异常: no_result

    declare
      --自定义异常                                   
      no_result exception;   
    begin
      update employees set salary = salary + 100 where employee_id = 1001;
      --使用隐式游标, 抛出自定义异常
      if sql%notfound then
         raise no_result;
      end if;  
    exception
      --处理程序抛出的异常
      when no_result then
         dbms_output.put_line('更新失败');
    end;
    

      

  • 相关阅读:
    scp常用操作指令
    php 5.6.36 安装mcrypt
    记https在Android浏览器无法访问
    centos 7 源码包安装、卸载nginx
    Linux进程守护——Supervisor 使用记录
    Nginx日志切割工具——logrotate 使用记录
    计算机相关网段计算
    PHP链接sqlserver出现中文乱码
    Yii2 init 与 beforeAction 区别
    利用yii2分页插件,成对取出数组数据
  • 原文地址:https://www.cnblogs.com/nbkyzms/p/5031433.html
Copyright © 2011-2022 走看看