Chinaunix首页 | 论坛 | 博客
  • 博客访问: 245999
  • 博文数量: 35
  • 博客积分: 198
  • 博客等级: 入伍新兵
  • 技术积分: 443
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-28 10:30
文章分类

全部博文(35)

文章存档

2015年(5)

2014年(14)

2013年(8)

2012年(7)

2011年(1)

我的朋友

分类: Oracle

2012-11-26 11:01:28

再写一个存储过程时, 用到了如下sql语句
  1. SELECT MAX(RE_DATE) INTO V_RE_DATE
  2. FROM T_RECORDING
  3. WHERE ID ='100010010102'
按理说,根据这个条件查询的结果应该为sqlcode=1403 ,但是奇怪的是如下sql异常却捕获不到:

  1. EXCEPTION
  2. WHEN NO_DATA_FOUND THEN
  3.     NULL;
  4. WHEN OTHERS THEN
  5.     ERR_CODE :=-2000;
  6.     ERR_MSG :=SQLERRM;
  7.     RETURN ;
执行的时候不返回任何错误,通过执行查看 V_RE_DATE 值发现值为空,那么既然值为空 则也应该报sqlcode=1405的异常呀,但是oracle执行引擎未报任何错,这个情况到底是个什么问题呢,今天先记下这个情况,以后再研究。


阅读(1913) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~