錯誤提示:ORA-01403: 未找到數據
產生原因:當查詢不到數據時,且把查詢結果注入到定義的變量裏面
解決方法:
1.跳出此次存儲過程: 可以寫個錯誤提示:
when not_data_found then --後面一般接錯誤的數據提示消息
2.不跳出存儲過程:
由於錯誤的根本原因是數據不存在,導致的空值問題,所以可以根據問題的原理得到對應的解決方法。設置一個變量tempSize,類型爲number,每次在查詢注入前,執行一次 select count(1) into tempSize from table,然後判斷tempSize是否大於1,如果大於1再執行查詢賦值給其他變量,這樣子就一定不會報找不到數據錯誤,因爲count(1)就算找不到 值爲0 ,可以賦值給tempSize,這樣子就避免了空值問題.
分析:倆種方法都能解決空值問題,不過第二張方法更好,不用跳出存儲過程,實際上也是,因爲存儲過程大多數是用於更新數據用的,不能因爲一個數據找不到,導致大量數據無法更新,所以推薦使用第二種方法解決