SQLD(SQL 개발자) 기출 · 트랜잭션 관리
아래 SQL 실행 결과로 가장 적절한 것은? 

본문)
INSERT INTO TAB1 VALUES(5, 'E', 3);
COMMIT;
UPDATE TAB1 SET COL2 = 3 WHERE NO = 2;
SAVEPOINT SAVE1;
INSERT INTO TAB1 VALUES(6, 'F', 5);
DELETE TAB1 WHERE NO = 4;
ROLLBACK TO SAVE1;
UPDATE TAB1 SET COL2 = 2 WHERE NO = 1;
ROLLBACK;
COMMIT;
SELECT SUM(COL2) FROM TAB1; 이 문제 풀어보기
정답 및 해설 보기
정답: 3번
첫 INSERT문장은 COMMIT했기 때문에 영구 저장된다. 그 이후 UPDATE, INSERT, DELETE를 차례대로 하지만 SAVE1 지점으로 롤백하므로 INSERT와 DELETE는 실행 취소된다. 첫 UPDATE문장과 마지막 UPDATE문장은 모두 롤백되어 결과적으로는 첫 INSERT문장만 실행된다. 따라서 남은 행의 SUM(COL2) 결과는 11이다.