Транзакция в SQL — это группа запросов, которые рассматриваются как единое целое. www.garb.ru Если база данных может выполнить всю группу запросов, она делает это. www.garb.ru Если любой из них не может быть выполнен в результате сбоя или по какой-то другой причине, не будет выполнен ни один запрос группы. www.garb.ru
Работа транзакции включает следующие этапы: habr.com
- Открытие. habr.com В разных базах данных способ открытия транзакции отличается: в Oracle она открывается сама, по факту первой изменяющей операции, а в MySql нужно явно написать «start transaction». habr.com
- Выполнение операций. habr.com В рамках одной транзакции можно совершить несколько операций, например, несколько разных insert, изменить и удалить данные. habr.com
- Закрытие. habr.com Есть два варианта закрытия транзакции: COMMIT подтверждает все внесённые изменения, а ROLLBACK откатывает их. habr.com
Транзакция может иметь два исхода: edu.postgrespro.ru
- Изменения данных, произведённые в ходе её выполнения, успешно зафиксированы в базе данных. edu.postgrespro.ru
- Транзакция отменяется, и отменяются все изменения, выполненные в её рамках. edu.postgrespro.ru Отмена транзакции называется откатом (rollback). edu.postgrespro.ru
Транзакции необходимы только при модификации данных, то есть при использовании операторов INSERT, UPDATE или DELETE. www.flenov.info Простая выборка SELECT не изменяет данных, и запоминать или откатывать нечего. www.flenov.info