再寫一個存儲過程時, 用到了如下sql語句
復制代碼代碼如下:
SELECT MAX(RE_DATE) INTO V_RE_DATE
FROM T_RECORDING
WHERE ID ='100010010102'
按理說,根據這個條件查詢的結果應該為sqlcode=1403 ,但是奇怪的是如下sql異常卻捕獲不到:
復制代碼代碼如下:
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
ERR_CODE :=-2000;
ERR_MSG :=SQLERRM;
RETURN ;
執行的時候不返回任何錯誤,通過執行查看 V_RE_DATE 值發現值為空,那么既然值為空 則也應該報sqlcode=1405的異常呀,但是oracle執行引擎未報任何錯,這個情況到底是個什么問題呢,今天先記下這個情況,以后再研究。