문제
다음 실행 후 남는 데이터 건수는?
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 TO B;
① 1건 ② 2건 ③ 3건 ④ 오류 발생
정답
4번
해설
④ 오류가 발생한다. SAVEPOINT B는 ROLLBACK TO A 실행 시점에 함께 제거되었기 때문에 'ROLLBACK TO B' 실행 시 존재하지 않는 SAVEPOINT를 참조하여 오류가 발생한다. ROLLBACK TO는 지정된 SAVEPOINT 이후에 생성된 모든 SAVEPOINT를 함께 제거하는 특성이 있다. ①②③ 모두 정상 실행을 가정한 잘못된 선택지이다.