COMMIT
- INSERT, UPDATE, DELETE문으로 변경한 데이터를 데이터베이스에 반영
- 변경 이전 데이터는 잃어버림
- 다른 모든 데이터베이스 사용자는 변경된 데이터를 볼 수 있음
- COMMIT이 완료되면 데이터베이스 변경으로 인한 LOCK이 해제(UNLOCK)됨
- COMMIT이 완료되면 다른 모든 데이터베이스 사용자는 변경된 데이터를 조작할 수 있음
- COMMIT을 실행하면 하나의 트랜잭션 과정을 종료함
ROLLBACK
- 데이터에 대한 변경 사용을 모두 취소하고 트랜잭션을 종료
- INSERT, UPDATE, DELETE문의 작업을 모두 취소
- 이전에 COMMIT한 곳까지만 복구 됨
- ROLLBACK을 실행하면 LOCK이 해제되고 다른 사용자도 데이터베이스를 조작할 수 있음
SAVEPOINT
- 트랜잭션을 작게 분할하여 관리하는 것으로 SAVEPOINT를 사용하면 지정된 위치 이후의 트랜잭션만 ROLLBACK할 수 있음
SAVEPOINT 포인트명
으로 지정할 수 있음
- 지정된 SAVEPOINT까지의 데이터 변경을 취소하고 싶을 경우
ROLLBACK TO 포인트명
을 실행
- ROLLBACK을 실행하면 SAVEPOINT와 관계없이 데이터의 모든 변경사항을 저장하지 않음