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(); // откатываем при ошибке
}