У меня есть ситуация, когда перед выполнением конкретной задачи я должен проверить, установлен ли конкретный флаг в БД, и если он не установлен, то выполняется остальная часть обработки и устанавливается тот же флаг. Теперь, в случае одновременного доступа от 2 разных транзакций, если первая транзакция проверяет флаг и не установлена, он продолжается дальше. В то же время я хочу ограничить 2-ю транзакцию проверкой флага, т. Е. Хочу запретить этой транзакции выполнять запрос SELECT, и он может выполнить то же самое, когда 1-я транзакция завершит свою обработку и установит флаг.
Я хотел реализовать это на уровне БД с помощью блокировок / подсказок. Но никакие подсказки не ограничивают запросы SELECT, и я не могу перейти на ограничения уровня изоляции.