Sobes.tech
Junior — Middle
175

Kas saaksite selgitada, mida tähendab SQL-is käsk COMMIT ja millist rolli see mängib tehingute haldamisel?

Vastus AI-lt

sobes.tech AI

Команда COMMIT в SQL используется для фиксации всех изменений, сделанных в текущей транзакции. Транзакция — это последовательность операций, которые должны быть выполнены как единое целое.

Когда вы выполняете несколько операций (например, INSERT, UPDATE, DELETE), они сначала находятся в состоянии ожидания и не влияют на базу данных до тех пор, пока не будет выполнен COMMIT. После выполнения COMMIT все изменения становятся постоянными и видимыми для других пользователей.

Если что-то пошло не так, можно выполнить ROLLBACK, чтобы отменить все изменения в транзакции.

Пример:

BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

Здесь деньги переводятся с одного счета на другой, и только после COMMIT изменения сохраняются окончательно.