Я искал в Интернете простые примеры, но безрезультатно. Мне нужно выполнить операцию select
и insert
как элементарный элемент в Java, используя JDBC для базы данных Oracle.
Эффективно мне нужно сделать следующее:
- Выбор кода от пользователей
- Пройдите по всем кодам, пока не найдете тот, который не используется (поскольку пользователи могут быть удалены, в середине диапазона могут быть коды)
- Введите нового пользователя с этим доступным кодом
Обычно это простая операция, но, поскольку мое приложение является многопоточным, я не знаю, как это сделать. Поскольку одновременные потоки, работающие в одно и то же время, могут одновременно попытаться вставить и использовать одно и то же значение для кода.
Есть пара обходных путей или хаков, о которых я могу подумать, чтобы выполнить работу, но в целом, как я могу заблокировать таблицу, чтобы сделать эту операцию атомарной? Большая часть того, что я видел, связана с блокировками строк, но поскольку я не обновляюсь, я не понимаю, как это применимо.