这段程序诡异地返回ok,而不是Error. 通过跟踪,程序进入了 return ‘error’ .但是紧接着也执行了return ‘ok’.
今天检查程序的时候,发现一个诡异的问题。如下所示。
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上测试的。不知后续版本是否有所改变,没有测试。
【编辑推荐】
- Oracle约束
- Oracle认证实用技巧
- Oracle中over函数的使用示例
- Oracle数据库基本常识
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/301371.html<

