Ваша операция чтения в базе данных на самом деле не является чтением, поскольку она обновляет соответствующую запись. Похоже, вам нужно, чтобы первая операция чтения и обновления завершилась и зафиксировалась до начала второй операции чтения и обновления.
Я не гуру базы данных / оракула, поэтому я прошу прощения, если этот ответ несколько расплывчатый: есть ли способ заблокировать нужную таблицу в начале операции чтения и обновления - возможно, параметр транзакции оракула ? Если это так, это должно выполнить то, что вы ищете.
Обратите внимание, что вы, по сути, являетесь однопоточным доступом к этой таблице, что потенциально может повлиять на производительность, в зависимости от количества одновременно работающих пользователей и частоты обращения к таблице. Возможно, вы захотите рассмотреть альтернативные способы выполнения требования.