Oracle 의 한 세션에서 다음 문장을 차례로 실행했을 때 마지막 S… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 2회
Oracle 의 한 세션에서 다음 문장을 차례로 실행했을 때 마지막 SELECT 의 결과는?-- 대출 테이블에는 COMMIT 된 행이 2개 있다 INSERT INTO 대출 VALUES (3, 'B2', SYSDATE); CREATE TABLE 대출백업 (대출번호 NUMBER); INSERT INTO 대출 VALUES (4, 'B3', SYSDATE); ROLLBACK; SELECT COUNT(*) FROM 대출;
1
4
2
3
3
2
4
0
해설
Oracle 은 DDL을 실행하면 그 앞의 트랜잭션을 암시적으로 COMMIT하므로 대출번호 3 INSERT는 CREATE TABLE 시점에 확정된다.
그 뒤 대출번호 4 INSERT만 새 트랜잭션에 남아 ROLLBACK으로 취소되어 행 수는 3이다.
- 2는 DDL의 자동 커밋을 모르고 두 INSERT가 모두 취소된다고 본 값이다.
- 4는 ROLLBACK이 아무것도 되돌리지 못한다고 본 값이다.
- 0은 ROLLBACK이 이미 커밋된 행까지 지운다고 오해한 값이다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 2회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- dcl(datacontrollanguage)명령어가아닌것은? {"answer":4,"content":[{"content":"commit","url":"20년-3회차-정보처리기사-필기
- 트랜잭션의실행이실패하였음을알리는연산자로트랜잭션이수행한결과를원래의상태로원상복귀시키는연산은? {"answer":4,"content":[{"content":21년-2회차-정보처리기사-필기
- commit과rollback명령어에의해보장받는트랜잭션의특성은? {"answer":3,"content":[{"content":"병행성","url":""}20년-3회차-정보처리기사-필기