문제
다음 실행 후 테이블 T의 데이터는?
SQLINSERT INTO T VALUES(10);
SAVEPOINT A;
SQLINSERT INTO T VALUES(20);
SAVEPOINT B;
SQLINSERT INTO T VALUES(30);
ROLLBACK TO A;
SQLINSERT INTO T VALUES(40);
ROLLBACK;
① 10만 남음 ② 데이터 없음 ③ 10, 40만 남음 ④ 10, 20, 40만 남음
정답
2번
해설
10 삽입 → SAVEPOINT A → 20 삽입 → SAVEPOINT B → 30 삽입 → ROLLBACK TO A(20, 30 취소되고 SAVEPOINT B도 제거됨) → 40 삽입 → ROLLBACK(전체 트랜잭션 취소로 10, 40 모두 취소). 최종적으로 모든 변경사항이 취소되어 데이터가 없습니다.