본문 바로가기
BackEnd-Study

[Oracle] COMMIT, ROLLBACK

by ChaeLOTUS 2024. 4. 29.
728x90

 

 

COMMIT

  • 모든 자업을 정상적으로 처리하겠다고 확정하는 명령어.
  • 트랜잭션의 처리 과정을 데이터베이스에 반영하기 위해서, 변경된 내용을 모두 영구 저장한다.
  • COMMIT을 수행하면, 하나의 트랜잭션 과정을 종료하게 된다.
  • TRANSACTION(INSERT, UPDATE, DELETE) 작업 내용을 실제 DB에 저장한다.
  • 이전 데이터가 완전히 UDPATE된다.
  • 모든 사용자가 변경한 데이터의 결과를 볼 수 있다.

 

ROLLBACK

  • 작업 중 문제가 발생했을 때, 트랜잭션의 처리 과정에서 발생한 변경 사항을 취소하고, 트랜잭션 과정을 종료시킨다.
  • 트랜잭션으로 의한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌린다.
  • TRANSACTION(INSERT, UPDATE, DELETE)작업 내용을 취소한다.
  • 이전 COMMIT 한 곳까지만 복구한다.

트랜잭션 작업 중 하나라도 문제가 발생하면 모든 작업을 취소해야하기 때문에 하나의 논리적인 작업 단위로 구성해 놓아야 한다.

문제가 발생하면 논리적인 작업의 단위를 모두 취소해 버리면 되기 때문이다.

 

 

 

초반에 DB를 잘 만져본적이 없던 상태로 프로젝트를 진행하였을 때는 변경사항을 처리하고 COMMIT을 하지 않아 데이터들이 꼬인적이 있었다.

그리고 COMMIT한 것을 깜빡하고 화면에 왜 데이터들이 안보이지 이런 경우도 있었다.

변경사항을 처리할 때 COMMIT 하는 것을 잊지말자!

728x90

'BackEnd-Study' 카테고리의 다른 글

[MyBatis] resultMap  (0) 2024.04.03

댓글