COMMIT 은 확정, ROLLBACK 은 되돌리기, SAVEPOINT 는 중간에 표시를 찍어 거기까지만 되돌리는 것이다.
왜 그런지까지
트랜잭션은 원자성·일관성·고립성·지속성(ACID)을 갖는다. 원자성은 전부 되거나 전부 안 되는 것, 일관성은 앞뒤로 규칙이 지켜지는 것, 고립성은 동시에 돌아도 서로 간섭하지 않는 것, 지속성은 확정된 것이 남는 것이다. DDL 은 실행하는 순간 자동으로 COMMIT 되므로, 그 앞의 DML 까지 함께 확정된다는 점을 놓치기 쉽다.
ROLLBACK vs ROLLBACK TO SAVEPOINT
그냥 ROLLBACK 은 트랜잭션 전체를 되돌리고, ROLLBACK TO SAVEPOINT 는 그 표시 이후만 되돌리며 트랜잭션은 이어진다.
넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다