8. [예시문제] 다음 중 트랜잭션(Transaction) 제어어(TCL)에 대한 설명으로 가장 적절하지 않은 것은?
- COMMIT은 데이터 변경 작업을 영구적으로 데이터베이스에 반영한다.
- ROLLBACK은 현재 트랜잭션 내에서 수행된 모든 변경 사항을 취소하고 이전 COMMIT 시점으로 되돌린다.
- SAVEPOINT는 트랜잭션 내에서 특정 시점을 저장하여, 부분적인 ROLLBACK이 가능하도록 한다.
- ROLLBACK TO SAVEPOINT 명령은 해당 SAVEPOINT 이후의 변경 사항만 취소하고, 저장점 이전의 변경 사항은 유지한다.
정답: 2번
2번 보기가 가장 적절하지 않습니다. ROLLBACK 명령은 현재 트랜잭션 내에서 수행된 모든 변경 사항을 취소하고 '트랜잭션 시작점(또는 마지막 COMMIT 시점)'으로 되돌립니다. '이전 COMMIT 시점'이라는 표현은 맞지만, SAVEPOINT 없이 단순히 ROLLBACK만 사용했을 때 모든 변경 사항을 되돌린다는 점을 강조해야 합니다. SAVEPOINT는 부분적인 롤백을 가능하게 하므로, ROLLBACK만으로는 SAVEPOINT 이후의 변경 사항만 취소할 수 없습니다. 1, 3, 4번 보기는 COMMIT, SAVEPOINT, ROLLBACK TO SAVEPOINT에 대한 올바른 설명입니다.