码迷,mamicode.com
首页 > 数据库 > 详细

Oracle容易犯的错误和技巧集合

时间:2015-05-08 16:24:40      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

引言

     此文记录日常开发中容易遇到的oracle编程误区和一些使用技巧,不定期更新.

1.sum(),max(),min(),avg()等函数会得到null值

declare 
  n_num  number(5):=‘‘;
begin
select sum(1) into n_num  from dual where 1=2 ;
 n_num:= n_num+2;
dbms_output.put_line(n_num);
end;

上面代码描述了我们日常开发的一个场景,将某个表的数据求和,然后再各种计算.正常情况是没有问题的,但是求和表没有数据的,我们就会得到一个空值,然后导致后面的一系列计算都是空值,

造成业务误差.

处理办法:加上nvl()函数处理这种异常,如下:

declare 
  n_num  number(5):=‘‘;
begin
select nvl(sum(1),0) into n_num  from dual where 1=2 ;
 n_num:= n_num+2;
dbms_output.put_line(n_num);
end;

 

Oracle容易犯的错误和技巧集合

标签:

原文地址:http://www.cnblogs.com/caizl/p/4450320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!