Oracle Max函数使用中出现的问题
程序员文章站
2023-12-02 08:35:46
再写一个存储过程时, 用到了如下sql语句 复制代码 代码如下: select max(re_date) into v_re_date from t_recording w...
再写一个存储过程时, 用到了如下sql语句
select max(re_date) into v_re_date
from t_recording
where id ='100010010102'
按理说,根据这个条件查询的结果应该为sqlcode=1403 ,但是奇怪的是如下sql异常却捕获不到:
exception
when no_data_found then
null;
when others then
err_code :=-2000;
err_msg :=sqlerrm;
return ;
执行的时候不返回任何错误,通过执行查看 v_re_date 值发现值为空,那么既然值为空 则也应该报sqlcode=1405的异常呀,但是oracle执行引擎未报任何错,这个情况到底是个什么问题呢,今天先记下这个情况,以后再研究。
复制代码 代码如下:
select max(re_date) into v_re_date
from t_recording
where id ='100010010102'
按理说,根据这个条件查询的结果应该为sqlcode=1403 ,但是奇怪的是如下sql异常却捕获不到:
复制代码 代码如下:
exception
when no_data_found then
null;
when others then
err_code :=-2000;
err_msg :=sqlerrm;
return ;
执行的时候不返回任何错误,通过执行查看 v_re_date 值发现值为空,那么既然值为空 则也应该报sqlcode=1405的异常呀,但是oracle执行引擎未报任何错,这个情况到底是个什么问题呢,今天先记下这个情况,以后再研究。