BOARD / TCL / 2026-04-13

SQL TCL 정리

TCL은 트랜잭션을 어떻게 확정하거나 되돌릴지 결정하는 명령입니다. DML로 바꾼 내용이 언제 실제 반영되는지 이해하려면 TCL이 반드시 필요합니다.

게시판 목록BLACK SQL 실습SQLD 문제은행

트랜잭션은 하나의 작업 단위입니다. COMMIT은 확정, ROLLBACK은 되돌림, SAVEPOINT는 중간 복귀 지점을 잡는다고 생각하면 흐름이 잡힙니다.

핵심 체크포인트

  • COMMIT은 변경 사항 확정입니다.
  • ROLLBACK은 마지막 COMMIT 이후 변경 내용을 되돌립니다.
  • SAVEPOINT는 부분 복귀 지점을 만드는 장치입니다.

주제별 설명

COMMIT

현재 트랜잭션의 변경 내용을 영구 반영합니다.

  • COMMIT 이후에는 일반적인 ROLLBACK으로 되돌릴 수 없습니다.
  • DML과 함께 항상 세트로 기억해야 하는 핵심 명령입니다.

ROLLBACK

현재 트랜잭션의 변경 내용을 이전 상태로 되돌립니다.

  • COMMIT 전이라면 INSERT, UPDATE, DELETE 변경을 취소할 수 있습니다.
  • 실수 방지와 테스트 시나리오 정리에 자주 등장합니다.

SAVEPOINT

트랜잭션 중간에 임시 복귀 지점을 설정하는 명령입니다.

  • 전체가 아니라 특정 지점까지만 되돌리고 싶을 때 사용합니다.
  • 복잡한 데이터 처리 흐름에서 부분 롤백 개념을 이해하는 데 좋습니다.

실습 흐름 추천

  1. DML과 TCL을 항상 묶어서 암기합니다.
  2. COMMIT 전과 후의 차이를 말로 설명해봅니다.
  3. SAVEPOINT는 전체 롤백과 부분 롤백의 차이를 이해하는 용도로 연습합니다.
바로 이어서 해보려면

이론만 읽지 말고 바로 blacksql.sqld.kr에서 실행해보고, 문제 풀이 감각은 www.sqld.kr에서 이어가면 학습 속도가 훨씬 빨라집니다.

자주 묻는 질문

ROLLBACK은 언제까지 되돌릴 수 있나요?

일반적으로 마지막 COMMIT 이후 현재 트랜잭션 내 변경까지 되돌릴 수 있다고 이해하면 됩니다.

DDL 실행 후에도 ROLLBACK이 되나요?

DDL은 보통 암묵적 COMMIT과 함께 이해해야 하므로 DML과 다르게 접근해야 합니다.