這段程序詭異地返回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上測試的。不知後續版本是否有所改變,沒有測試。