- ·上一篇内容:oracle下巧用bulk collect实现cursor批量fetch
- ·下一篇内容:解决Oracle启动但不能登录的问题
Oracle一则诡异的程序
今天检查程序的时候,发现一个诡异的问题。如下所示。
function chkA_B return varchar2 as
a varchar2(10):=NULL;
b varchar2(10):='1';
begin
if a=b then
return 'Error';
end if;
return 'ok';
end;
这段程序诡异地返回ok,而不是Error. 通过跟踪,程序进入了 return 'error' .但是紧接着也执行了return 'ok'.
如果将if 的条件改为 if nvl(a,'0')=b 则程序正常。
上述诡异程序是在9i上测试的。不知后续版本是否有所改变,没有测试。
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。
Tags:Oracle
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论