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와 관계없이 데이터의 모든 변경사항을 저장하지 않음