Встречается на собеседованиях • сегодня

Для чего нужен SELECT FOR UPDATE

SELECT FOR UPDATE используется в SQL для блокировки строк, которые будут обновляться в транзакции, предотвращая их изменение другими транзакциями до завершения текущей. Это особенно важно в конкурентных средах, чтобы избежать состояния гонки (race condition).

Пример в Java с JDBC:

java
Connection conn = DriverManager.getConnection(...);
conn.setAutoCommit(false);
try {
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM accounts WHERE id = 1 FOR UPDATE");
    // Работаем с заблокированной строкой
    // ...
    conn.commit();
} catch (SQLException e) {
    conn.rollback();
}

Блокировка снимается при commit/rollback. В JPA аналогично: @Lock(LockModeType.PESSIMISTIC_WRITE).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы