Sobes.tech
Junior — Middle
94

Дерекқормен жұмыс жасағанда жолдарды блоктау үшін SELECT FOR UPDATE командасын қолдандыңыз ба?

Сұралған компаниялар
Т-БанкТ-Банк

AI-дан жауап

sobes.tech AI

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

Пример использования в Java с JDBC:

String sql = "SELECT * FROM accounts WHERE id = ? FOR UPDATE";
try (PreparedStatement ps = connection.prepareStatement(sql)) {
    ps.setInt(1, accountId);
    ResultSet rs = ps.executeQuery();
    if (rs.next()) {
        // Работа с данными
    }
    // После выполнения всех операций, коммит транзакции снимет блокировку
}

Важно, что SELECT FOR UPDATE должен выполняться внутри транзакции, чтобы блокировка была эффективной.