TCL
- Transaction Control Language
- 트랜잭션을 제어하는 언어
- commit, rollback, savepoint
- commit : 데이터에 대한 변경 사항 저장
- rollback : 데이터 변경 사항이 취소되어 데이터의 이전 상태로 복구
- savepoint : 지정한 중간 단계로 복구
COMMIT
- 데이터의 수정 발생 시 수정 내용을 저장하기 위함
- 수정 쿼리 or 트랜잭션마다 전달 가능
- 일반적으로 COMMIT 하지 않은 수정 작업은 롤백 처리
- DBMS나 접속 tool 옵션에 따라 자동 COMMIT 처리 가능
- SELECT와는 무관한 것!
ROLLBACK
- 데이터의 수정 작업에 대한 취소 명령
- 가장 마지막 COMMIT 시점으로 원복
- SAVEPOINT를 통한 ROLLBACK 지점 지정 가능
- 어떠한 경우라도 COMMIT 이전으로는 되돌릴 수 없다!
SAVEPOINT
- 현 트랜잭션 내 저장 지점을 설정
- 설정된 지점 이후 실행되는 모든 명령어 롤백 가능
savepoint savepoint_name;
rollback to savepoint savepoint_name;
위 명령어를 통해 savepoint지정 및 롤백이 가능하다.