欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle存储过程selectinto没有查到数据被NO_DATA_FOUND异常捕获讲解

程序员文章站 2022-03-10 17:57:55
oracle存储过程selectinto没有查到数据被no_data_found异常捕获讲解 a number(10); b number(10); c varchar(20); begi...

oracle存储过程selectinto没有查到数据被no_data_found异常捕获讲解

a number(10);
b number(10);
c varchar(20);
begin
  select age, sex, name into a, b, c from myemp t where t.empno = pno;
exception
  when no_data_found then
  dbms_output.put_line('捕获到异常'); 
end;

最开始接触到存储过程中这种异常的捕获时,我有以为过是当获取到的这条数据的需要取的某个字段为空时触发,也就是当age、sex、name中有一个为空的时候触发。但实际情况不是这样,这三个字段是否为空与是否被no_data_found异常捕获到没有直接关系,只有当一条数据都没有查出来的时候会捕获这个异常。