SQLDSQL 기본난이도 3MCQ

SQLD SQL 기본 기출문제 #1173

문제

다음 트랜잭션 제어 명령어들을 순서대로 실행했을 때의 최종 결과는?

SQL
INSERT INTO logs VALUES (100, 'START'); SAVEPOINT sp_a; INSERT INTO logs VALUES (200, 'PROCESS'); SAVEPOINT sp_b; INSERT INTO logs VALUES (300, 'END'); ROLLBACK TO sp_a; INSERT INTO logs VALUES (400, 'RESTART'); COMMIT;

① logs 테이블에 (100,'START'), (400,'RESTART') 2건 ② logs 테이블에 (100,'START'), (200,'PROCESS'), (400,'RESTART') 3건 ③ logs 테이블에 (400,'RESTART') 1건만 존재 ④ logs 테이블이 비어있음 (0건)

정답

1

해설

SAVEPOINT sp_a 설정 후 추가된 (200,'PROCESS')와 (300,'END')는 ROLLBACK TO sp_a로 취소됩니다. 따라서 sp_a 시점인 (100,'START') 상태로 돌아가고, 그 후 (400,'RESTART')가 추가되어 COMMIT으로 확정됩니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] SQL 기본 기출 #1173 | sqldpass