当前位置: 数据库>oracle
Oracle Max函数使用中出现的问题
来源: 互联网 发布时间:2014-09-07
本文导语: 再写一个存储过程时, 用到了如下sql语句 代码如下: SELECT MAX(RE_DATE) INTO V_RE_DATE FROM T_RECORDING WHERE ID ='100010010102' 按理说,根据这个条件查询的结果应该为sqlcode=1403 ,但是奇怪的是如下sql异常却捕获不到: 代码如下: EXCEPTION WHE...
再写一个存储过程时, 用到了如下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执行引擎未报任何错,这个情况到底是个什么问题呢,今天先记下这个情况,以后再研究。