SQLD 기출문제 예상문제 391번
다음 문제를 풀어보세요.
다음 중 위에 제시된 SQL 실행 후 ACCOUNTS 테이블의 최종 상태로 가장 적절한 것을 고르시오.
[테이블 구조]
CREATE TABLE ACCOUNTS (
ACCOUNT_ID VARCHAR(10) PRIMARY KEY,
BALANCE DECIMAL(10, 2)
);
[초기 데이터]
INSERT INTO ACCOUNTS (ACCOUNT_ID, BALANCE) VALUES ('ACC001', 1000.00);
INSERT INTO ACCOUNTS (ACCOUNT_ID, BALANCE) VALUES ('ACC002', 500.00);
COMMIT;
[SQL 실행 순서]
SET AUTOCOMMIT OFF; -- 오토커밋 비활성화 (명시적 트랜잭션 시작)
UPDATE ACCOUNTS SET BALANCE = BALANCE - 200.00 WHERE ACCOUNT_ID = 'ACC001'; -- 1단계
SAVEPOINT S1; -- 2단계
UPDATE ACCOUNTS SET BALANCE = BALANCE + 100.00 WHERE ACCOUNT_ID = 'ACC002'; -- 3단계
SAVEPOINT S2; -- 4단계
UPDATE ACCOUNTS SET BALANCE = BALANCE + 50.00 WHERE ACCOUNT_ID = 'ACC001'; -- 5단계
ROLLBACK TO S1; -- 6단계
UPDATE ACCOUNTS SET BALANCE = BALANCE - 100.00 WHERE ACCOUNT_ID = 'ACC002'; -- 7단계
COMMIT; -- 8단계