문제
다음 SQL을 순서대로 실행한 후 ROLLBACK을 수행했을 때, T 테이블에 남는 행의 수는? (시작 시 T는 비어 있고 자동커밋은 꺼져 있다)
① 1개 ② 2개 ③ 3개 ④ 4개
정답
3번
해설
INSERT 1, 2, 3 후 ALTER TABLE(DDL)이 실행되면 암시적 커밋(auto-commit)이 발생하여 그때까지의 INSERT 1, 2, 3이 확정된다. 이후 INSERT 4가 추가되고 ROLLBACK을 수행하면, 마지막(암시적) 커밋 이후의 변경인 INSERT 4만 취소된다. 따라서 1, 2, 3은 확정되어 남고 4만 사라져 3개가 남는다. 따라서 정답은 ③ 3개.