oracle数据库中的例外处理

-- 例外
 --no_data_found
 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;

 --too_many_rows
  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('匹配了多行');
    when others then dbms_output.put_line('其他例外');
    end;

 --zero_divide
    declare 
    pnum number;
    begin
        pnum:=1/0;
        exception
        when zero_divide then dbms_output.put_line('0不能做除数');
        when others then dbms_output.put_line('其他例外');
        end;

 --value_error
declare
    pnum number;
    begin
    pnum:='asd';
    exception
    when value_error then dbms_output.put_line('算数或转换错误');
     when others then dbms_output.put_line('其他例外');
     end;

 --自定义例外
    --查询50号部门员工
    declare 
    cursor cemp is select ename from emp where deptno=50;
    pename emp.ename%type;
    no_emp_found exception;
    begin
        open cemp;
        fetch cemp into pename;
        if cemp%notfound then
        rsiae no_emp_found;
        end if;
        close cemp;
        exception
            when no_emp_found then dbms_output.put_line('没有找到');
            when others then dbms_output.put_line('其他');
        end;
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值