📝 Commit / Rollback
🖥️ 1. Commit
1-1. Commit이란
- 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어이다.
- 트랜젝션의 처리 과정을 데이터베이스에 반영하기 위해서 변경된 모든 내용을 모두 영구 저장한다.
- Commit을 수행하면 하나의 트랜젝션 과정을 종료하게 된다.
- Transaction(Insert, Update, ..) 작업 내용을 실제 DB에 저장한다.
- 모든 사용자가 변경한 데이터의 결과를 볼 수 있다.
![](https://velog.velcdn.com/images/heeyoung6425/post/937662a4-c915-425d-9f04-924567258290/image.png)
1-2. 자동 Commit 되는 경우
- create, alter, drop, truncate → DDL문
- insert, update, delete 작업 후
commit 하지 않고 오라클을 정상 종료 시
에 commit 명령어를 입력하지 않아도 정상 commit 후 오라클 종료
🖥️ 2. Rollback
2-1. Rollback이란
- 작업 중 문제가 발생했을 때, 트랜젝션의 처리 과정에서 발생한 변경사항을 취소하고, 트랜젝션 과정을 종료시킨다.
- 트랜젝션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌린다.
- Transaction(Insert, Update, Delete) 작업 내용을 취소한다.
- 트랜젝션 작업 중 하나라도 문제가 발생하면 모든 작업을 취소해야 하기 때문에 하나의 논리적인 작업 단위로 구성해 놓아야 한다.
- 문제가 발생하면, 논리적인 작업 단위를 모두 취소해버리면 되기 때문이다.
![](https://velog.velcdn.com/images/heeyoung6425/post/7f2d4573-1a15-4b04-8348-d11f14472579/image.png)
2-2. 자동 Rollback 되는 경우
🖥️ 3. commit, rollback 명령어의 장점