- TCL (TRANSACTION CONTROL LANGUAGE) : 트랜잭션 제어 언어
- COMMIT(트랜잭션 종료 후 저장), ROLLBACK(트랜잭션 취소), SAVEPOINT(임시저장)의 종류가 있다.
- COMMIT : 메모리 버퍼(트랜잭션)에 임시저장된 데이터 변경 사항을 DB에 반영한다.
- ROLLBACK : 메모리 버퍼(트랜잭션)에 임시저장된 데이터 변경 사항을 삭제하고
마지막 COMMIT 상태로 돌아간다.- SAVEPOINT : 메모리 버퍼(트랜잭션)에 저장 지점을 정의하여 ROLLBACK 수행 시 전체 작업을 삭제하는 것이 아닌 저장 지점까지만 일부 ROLLBACK 가능하다.
- 데이터베이스의 논리적 연산 단위
- 데이터 변경 사항을 묶어 하나의 트랜잭션에 담아서 처리한다.
- 트랜잭션의 대상이 되는 데이터 변경 사항 : INSERT, UPDATE, DELETE (DML)
COMMIT과 ROLLBACK은 정보를 저장 or 되돌리기하고 싶은 시점에서 단어만 입력하여 실행하면 된다.
아래는 COMMIT과 ROLLBACK의 동작원리이다.
EX)
INSERT 수행 ---------------------------------> DB 반영(X)
INSERT 수행 --> 트랜잭션에 추가 --> COMMIT --> DB 반영(O)
INSERT 10번 수행 --> 1개 트랜잭션에 10개 추가 --> ROLLBACK --> DB 반영 안됨
EX)
SAVEPOINT 포인트명1;
...
SAVEPOINT 포인트명2;
...
ROLLBACK TO 포인트명1; ==> 포인트1 지점까지 데이터 변경사항 삭제