У меня есть хранимая процедура, где в конце я проверяю наличие ошибок, и если есть ошибки, я выполняю откат, а затем обновляю статус в пакетной таблице на «FAILED». Когда я запускаю хранимую процедуру, я регулярно получаю ошибку SQLCODE 818, говорящую о том, что «произошёл конфликт меток времени».
Когда я удаляю оператор обновления, который изменяет статус в пакетной таблице, я не получаю сообщение об ошибке.
Как лучше всего выполнить эти действия, чтобы избежать ошибки?
Участок кода выглядит так:
IF v_error_count > 0 THEN
-- Batch failed
ROLLBACK;
UPDATE batch_table bt
SET bt.batch_status = 'FAILED'
WHERE batch_id = input_batch_id;
END IF;
Спасибо за любую помощь.