编程是一个严谨的活:修改一个bug,引入了新的bug
2010-11-06 19:47
232 查看
1,需求中要求,将一个varchar类型字段:比如 acid,加(算术加)上一个数字,其结果作为一个新的ID:
v_cardNo varchar(12)。
逻辑代码如下:
......
v_cardNo := acid+ 278122220258 --(两次隐形转换:字符-》数字,数字-》字符)
......
2,但是在实际做的时候发先acid中含有非数字字符,在采用算术加时会出错:ORA-01722: invalid number。
为了fix这个bug,才用了如下代码:
BEGIN
--{
SELECT acid+ 278122220258
INTO v_cardNo
FROM dual;
--}
EXCEPTION
WHEN OTHERS THEN
v_cardNo := acid || '278122220258';
END;
3,以上代码看是没有问题,运行时却出了bug:ORA-06502: PL/SQL: numeric or value error: character string buffer too small。
v_cardNo := acid || '278122220258';
忘了把v_cardNo 的长度改为:24。
编程是一个严谨的活,每一个改代码都要仔细。
相关文章推荐
- 解决一个吐血问题,在winform编程中修改控件的X,Y坐标值,并不能修改控件的位置
- 基本上,把switch,用设计模式代替,肯定是bug和过度设计。想想,本来修改一个文件几行代码可以解决的问题,变成修改3-6个类才能实现一样的功能。不是傻是什么?
- 捉虫经历:耦合度过高引入的一个bug
- (转) 如何使CheckBoxList的Attributes属性生效(修改微软的一个bug)
- maven项目中引入外部数据库链接文件db.properties中的一个bug
- 一个C++bug引入的许多知识
- 共享一个Log4Net的可视化配置工具(修改了原版的一些Bug并对界面进行了部分汉化)
- 关于C# XML序列化的一个BUG的修改
- 一个不良编程习惯引起的怪异bug
- Android8.0 Email 一个Bug修改方案
- mysql 手册关于修改列字符编码的一个bug
- UDPUDP发现一个BUG记录,后面修改
- 修改ASP.NET MVC Ajax分页组件ASP.NET MvcPager一个小Bug并修该样式为自己所用(三)
- 使CheckBoxList的Attributes属性生效(修改微软的一个bug)
- Ogre Lod的一个bug及其修改
- NewCrossArticle 模块(修改了其中一个bug)
- 【编程经验】一个关于常量不能被修改的错误
- 猜数字修改(上一个有bug)