문제
다음 SQL 실행 후 SELECT COUNT(*) FROM EMP WHERE SAL > 2000;의 결과는? (초기 EMP 테이블은 비어있음)
SQLINSERT INTO EMP VALUES(1, 'A', 1000); INSERT INTO EMP VALUES(2, 'B', 3000);
COMMIT; SAVEPOINT SP1;
SQLUPDATE EMP SET SAL = 2500 WHERE EMPNO = 1; INSERT INTO EMP VALUES(3, 'C', 1500);
SAVEPOINT SP2;
SQLDELETE FROM EMP WHERE EMPNO = 2;
ROLLBACK TO SP1;
SQLINSERT INTO EMP VALUES(4, 'D', 2200);
COMMIT;
① 1 ② 2 ③ 3 ④ 0
정답
2번
해설
(1,A,1000), (2,B,3000) 입력 후 COMMIT 확정 → SP1 설정 → 1번 SAL을 2500로 변경, (3,C,1500) 입력 → SP2 설정 → 2번 삭제 → ROLLBACK TO SP1로 SP1 이후 모든 변경사항 취소하여 원래 상태로 복원 → (4,D,2200) 입력 후 COMMIT. 최종: (1,A,1000), (2,B,3000), (4,D,2200). SAL > 2000인 것은 B(3000), D(2200)로 2건입니다.