Oracle一则诡异的程序
来源:优易学  2010-1-19 16:22:58   【优易学:中国教育考试门户网】   资料下载   IT书店
 今天检查程序的时候,发现一个诡异的问题。

  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上测试的。不知后续版本是否有所改变,没有测试。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训