트랜잭션 제어문은 데이터 조작 언어(DML)로 변경된 내용을 관리하는 명령어입니다. SQLD 시험에서는 COMMIT과 ROLLBACK의 역할, 그리고 DML/DDL과의 관계를 묻는 문제가 자주 출제됩니다.
COMMIT을 통해 DB에 반영되고, 실패하면 ROLLBACK을 통해 이전 상태로 되돌립니다.INSERT, UPDATE, DELETE와 같은 DML이 트랜잭션의 기본 단위가 됩니다.COMMIT (확정)COMMIT 후에는 ROLLBACK으로 되돌릴 수 없습니다.ROLLBACK (취소)COMMIT 이후에 수행된 모든 변경 내용을 취소하고, 이전 상태로 되돌립니다.ROLLBACK을 실행하거나, 시스템 오류 발생 시 자동으로 실행됩니다.COMMIT된 내용은 ROLLBACK할 수 없습니다.SAVEPOINT (중간 저장)ROLLBACK TO [SAVEPOINT명] 명령어를 사용하여 특정 시점까지만 트랜잭션을 되돌릴 수 있습니다.INSERT, UPDATE, DELETE): COMMIT을 명시적으로 실행해야 변경사항이 확정됩니다.CREATE, ALTER, DROP) & DCL (GRANT, REVOKE): 자동으로 COMMIT이 발생합니다.COMMIT 전후의 상태COMMIT 전:ROLLBACK 가능합니다.COMMIT 후:COMMIT = 영구 저장 버튼ROLLBACK = 실행 취소 버튼SAVEPOINT = 게임 중간 저장 지점자동 저장된다!1. COMMIT 전의 변경사항에 대한 설명으로 옳지 않은 것은?
A. 다른 사용자는 변경사항을 볼 수 없다.
B. 자기 자신은 변경사항을 볼 수 있다.
C. COMMIT 후에는 ROLLBACK으로 되돌릴 수 있다.
D. COMMIT 전에는 ROLLBACK이 가능하다.
2. 다음 중 자동 COMMIT이 발생하는 SQL은?
A. UPDATE
B. DELETE
C. CREATE TABLE
D. INSERT
3. ROLLBACK에 대한 설명으로 옳은 것은?
A. 마지막 COMMIT 시점까지만 복구 가능하다.
B. COMMIT 이후에도 언제든지 되돌릴 수 있다.
C. 다른 사용자가 변경한 내용까지 되돌린다.
D. SAVEPOINT를 사용하면 COMMIT도 취소할 수 있다.
4. 다음 중 트랜잭션의 기본 단위에 해당하는 것은?
A. SELECT
B. INSERT
C. CREATE
D. GRANT
COMMIT은 변경 내용을 영구 저장하므로, COMMIT 이후에는 ROLLBACK으로 되돌릴 수 없습니다.CREATE TABLE은 DDL이므로, 실행과 동시에 자동 COMMIT이 발생합니다.ROLLBACK은 마지막 COMMIT이 이루어진 시점까지만 데이터를 되돌릴 수 있습니다.INSERT, UPDATE, DELETE가 여기에 해당합니다.