我有以下代碼禁止ORA-01403:沒有找到數據錯誤時拋出
SELECT SUM(nvl(book_value,
0))
INTO v_balance
FROM account_details
WHERE currency = 'UGX';
--Write the balance away
SELECT SUM(nvl(book_value,
0))
INTO v_balance
FROM account_details
WHERE currency = 'USD';
--Write the balance away
現在的問題是,可能沒有在表中特定的貨幣數據,但有可能會爲成爲數據「美元'貨幣。所以基本上我想選擇總和到我的變量,如果沒有數據我想我的存儲過程繼續,而不是拋出01403異常。
我不想把每個select都放到BEGIN EXCEPTION END塊的語句中,所以有什麼方法可以抑制異常,並且只需將v_balance變量保留在未定義(NULL)狀態而不需要異常塊?
SUM集合函數,如果沒有匹配不拋出異常,只是返回null。你的代碼應該已經做到了你想要的。 –