Oracle一则诡异的程序
来源:动视网
责编:小采
时间:2020-11-09 10:06:12
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,
导读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,

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 则程序正常。
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,