SQL Server 의 기본 설정(AUTO COMMIT)에서 비어 있는… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 5회
SQL Server 의 기본 설정(AUTO COMMIT)에서 비어 있는 회원 테이블에 다음을 실행한 뒤, 다른 세션에서 조회한 회원 테이블의 행 수는?INSERT INTO 회원 VALUES (1, '강도윤'); BEGIN TRANSACTION; INSERT INTO 회원 VALUES (2, '송하은'); INSERT INTO 회원 VALUES (3, '임재원'); ROLLBACK; INSERT INTO 회원 VALUES (4, '윤아린');
1
1
2
2
3
0
4
4
해설
SQL Server 기본값인 AUTO COMMIT 모드에서는 명시적 트랜잭션 밖의 문장이 실행 즉시 커밋되므로 강도윤과 윤아린 2행이 남는다.
BEGIN TRANSACTION 으로 연 명시적 트랜잭션 안의 두 INSERT 만 ROLLBACK 으로 함께 취소된다.
- 0은 COMMIT 을 하기 전까지 모든 변경이 미확정이라고 본 경우이다.
- 1은 ROLLBACK 이 앞서 자동 커밋된 첫 INSERT 까지 취소한다고 본 경우이다.
- 4는 트랜잭션 안의 INSERT 도 각각 자동 커밋되어 ROLLBACK 이 효과가 없다고 본 경우이다.
오류나 개정된 내용이 보이면 알려주세요