Нет.Невозможно получить простой оператор UPDATE в тайм-ауте Oracle, если какой-то другой сеанс заблокировал строку, которую он пытается обновить.Конечно, вы могли бы написать код своих модульных тестов для выполнения SELECT ... FOR UPDATE WAIT <<n>>
перед выполнением ОБНОВЛЕНИЯ.Это гарантировало бы, что к тому времени, когда вы дойдете до ОБНОВЛЕНИЯ, вы гарантированно уже получите блокировку.
Меня также немного смущает мысль о том, что вы будете запускать модульные тесты для строк, которыедругие сеансы изменяются одновременно с вами.Казалось бы, это отрицательно сказывается на назначении модульных тестов, поскольку никогда не будет ясно, провалился ли тест из-за того, что код сделал что-то не так или из-за того, что какой-то другой сеанс неожиданно изменил данные во время теста.