Sobes.tech
Junior — Middle

Оё имкон дорад, ки дар як транзаксия чандин дархости SQL-и гуногун иҷро шаванд?

sobes.tech AI

Ҷавоб аз 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(); // хатолик бўлса, қайтариш
}