Использование оператора ROLLBACK TRANSACTION необходимо в следующих случаях:
- Если во время выполнения транзакции возникла ошибка. 1 В этом случае ROLLBACK отменяет изменения, сделанные во время транзакции, и восстанавливает базу данных в её предшествующем состоянии. 1
- Если отмена транзакции производится приложением исходя из внутренней логики работы. 2 Например, когда это необходимо по условиям определённого логического условия. 3
- Если произойдёт разрыв сессии во время активной транзакции. 2 В этом случае ROLLBACK будет выполнен автоматически. 2
Когда вызывается ROLLBACK, отменяются только изменения, сделанные в рамках текущей транзакции. 2 Изменения, сделанные другими транзакциями (даже если они были запущены и завершены во время выполнения текущей транзакции), остаются нетронутыми. 2