使用sqlerrm打印错误信息

本文通过创建空表和存储过程的实例,展示了如何在Oracle中使用异常处理来捕获并打印错误信息,如未找到数据的情况。

--首先创建一张空表
SQL> create table t as select * from emp where 1=2;
Table created
--创建一个存储过程,使用异常,打印错误信息
declare
    v_ename varchar2(30);
begin
    select ename into v_ename from t;
exception
    when others
--no data found
     then
        dbms_output.put_line(sqlerrm);
end;


-----测试结果1:
SQL> declare
  2      v_ename varchar2(30);
  3  begin
  4      select ename into v_ename from t;
  5  exception
  6      when others--no data found
  7       then
  8          dbms_output.put_line(sqlerrm);
  9  end;
 10  /
ORA-01403: 未找到任何数据
PL/SQL procedure successfully completed


-----测试结果2
SQL> declare
  2      v_ename varchar2(30);
  3  begin
  4      select ename into v_ename from t;
  5  /*
  6  exception
  7      when others--no data found
  8       then
  9          dbms_output.put_line(sqlerrm);*/
 10  end;
 11  /
declare
    v_ename varchar2(30);
begin
    select ename into v_ename from t;
/*
exception
    when others--no data found
     then
        dbms_output.put_line(sqlerrm);*/
end;
ORA-01403: 未找到任何数据
ORA-06512: 在 line 4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值