У меня есть хранимая процедура, где в конце я проверяю наличие ошибок, и если есть ошибки, я выполняю откат, а затем обновляю статус в таблице пакетов до «FAILED». Когда я запускаю хранимую процедуру, я регулярно получаю ошибку SQLCODE 818, говоря о наличии «конфликта временной метки».Ошибка хранимой процедуры db2 при выполнении инструкции обновления после отката
Когда я удаляю инструкцию обновления, которая изменяет статус в таблице пакетов, я не получаю ошибку.
Какова наилучшая практика для выполнения этих действий, чтобы я не получал ошибку?
Раздел кода выглядит следующим образом:
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;
Спасибо за любую помощь.
Какой уровень изоляции используется? возможно, другой процесс одновременно изменяется. – AngocA