Я создал процедуру для обновления моей таблицы t_ritm
.Сначала я выбираю rrcd_qnty
(это количество моего продукта) идентификатора продукта из таблицы t_rrcd
.Затем я обновляю значение rrcd_qnty
в таблице t_ritm
.
Вот моя процедура:
procedure update_ritm_new_rate(p_oid in varchar2, p_ritm_rate in varchar2, p_euser in varchar2)
is
nrate varchar2(4);
begin
SELECT rrcd_rate into nrate
FROM (select oid, t_rrcd.rrcd_rate
from t_rrcd
where rrcd_ritm= p_oid
ORDER BY oid DESC )
WHERE rownum <= 1
ORDER BY rownum DESC ;
EXCEPTION
WHEN NO_DATA_FOUND THEN nrate := 0;
update t_ritm
set ritm_rate = nrate, euser = p_euser, edat = sysdate
where oid = p_oid;
commit;
end update_ritm_new_rate;
Часть моего идентификатора продукта Количество было null
.поэтому я получаю No_Data_Found
ошибку.Но когда и какой идентификатор продукта имеет значение Количество, они были успешно обновлены.Чтобы избежать No_Data_Found
, я использовал EXCEPTION WHEN NO_DATA_FOUND THEN nrate := 0;
, который решил мою ошибку no_Data_Found
.Но когда идентификатор продукта имеет количественное значение, они не обновлялись.
Я много раз искал эту проблему, но не нашел хорошего решения.Что должно быть лучшим способом избежать ошибки No_Data_Found
?Могу ли я передать свое значение, если не получаю ошибку No_Data_Found
?
заранее благодарю