Sobes.tech
Back to questions
Junior — Middle
121

Возможна ли в одной транзакции выполнение нескольких различных SQL-запросов?

Companies where asked
МеталлИнвестБанк

Answer from AI

sobes.tech AI

Да, в одной транзакции можно выполнить несколько различных SQL-запросов. Транзакция обеспечивает атомарность, то есть все запросы внутри неё либо выполняются успешно вместе, либо при ошибке откатываются. В Java с использованием JDBC это делается так:

connection.setAutoCommit(false); // отключаем автокоммит
try {
    Statement stmt = connection.createStatement();
    stmt.executeUpdate("INSERT INTO users (name) VALUES ('Alice')");
    stmt.executeUpdate("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1");
    connection.commit(); // подтверждаем транзакцию
} catch (SQLException e) {
    connection.rollback(); // откатываем при ошибке
}