SQLDSQL 기본TCL난이도 2MCQ

SQLD TCL 기출문제 #239

문제

다음 실행 후 SELECT COUNT(*) FROM T WHERE C1 > 100;의 결과는? (T 테이블은 빈 상태)

BEGIN;

SQL
INSERT INTO T VALUES(50); INSERT INTO T VALUES(150);

SAVEPOINT S1;

SQL
UPDATE T SET C1 = C1 + 100 WHERE C1 = 50; INSERT INTO T VALUES(200);

SAVEPOINT S2;

SQL
DELETE FROM T WHERE C1 = 150;

ROLLBACK TO S1;

SQL
UPDATE T SET C1 = 250 WHERE C1 = 150;

COMMIT;

① 1 ② 2 ③ 3 ④ 0

정답

1

해설

① 결과는 1이다. 실행과정: (50),(150) 삽입 → S1 → UPDATE로 50→150 → (200) 삽입 → S2 → DELETE로 (150) 삭제 → ROLLBACK TO S1 (S1 이후 모든 작업 취소) → 현재 상태는 (50),(150) → UPDATE로 150→250 → COMMIT. 최종 데이터는 (50),(250)이므로 C1>100인 건수는 (250) 1건이다. ② 2건은 ROLLBACK TO S1의 효과를 제대로 이해하지 못한 것이다. ③ 3건은 ROLLBACK TO S1의 효과를 무시한 것이다. ④ 0건은 전체 ROLLBACK으로 잘못 이해한 것이다.

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

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

[SQLD] TCL SQL 기본 기출 #239 | sqldpass