빈 탑승 테이블에 자동 커밋을 끄고 다음을 순서대로 실행했을 때 마지막… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 4회
빈 탑승 테이블에 자동 커밋을 끄고 다음을 순서대로 실행했을 때 마지막 SELECT 의 결과 값은?
INSERT INTO 탑승 VALUES (1);
COMMIT;
INSERT INTO 탑승 VALUES (2);
SAVEPOINT SP1;
INSERT INTO 탑승 VALUES (3);
SAVEPOINT SP1;
INSERT INTO 탑승 VALUES (4);
ROLLBACK TO SP1;
COMMIT;
SELECT COUNT(*) FROM 탑승;
1
1
2
2
3
3
4
4
해설

같은 이름으로 SAVEPOINT 를 다시 지정하면 나중에 만든 지점이 기준이 되므로, ROLLBACK TO SP1 은 두 번째 SP1 이후의 INSERT 4만 취소한다.

이어지는 COMMIT 으로 2·3이 확정되어 앞서 커밋한 1과 함께 3행이 남는다.

  • 1은 ROLLBACK TO 를 마지막 COMMIT 까지 되돌리는 전체 ROLLBACK 으로 본 값이다.
  • 2는 첫 번째 SP1 로 돌아가 INSERT 3까지 취소된다고 본 값이다.
  • 4는 저장점으로 되돌린 작업이 COMMIT 으로 되살아난다고 본 값이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 4회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기