COMMIT : 지금까지 작업한 DML 작업 (insert, update, delete, merge ) 를 데이터 베이스에 영구히 저장하겠다.
rollback : 지금까지 작업한 DML 작업(insert, update, delete, merge) 를 모두 취소하겠다.
insert.............어쩌고저쩌고
insert.................어쩌고저쩌고 입력한 작업물들 을
commit................ —————→ 여기까지는 모두 저장이 된것이고
insert................
update.................
rollback ; ----------------> commit 다음 insert 문부터 전부다 rollback 이 된다.
문제 사원테이블의 월급을 모두 0 으로 변경 후 commit !
update emp set sal = 0;
commit;
문제 사원테이블의 데이터를 전부 delete.
delete from emp ;
rollback
여기서 rollback 을 하게 되면 update 문 인 월급은 0 으로 변경하고 commit 하였기 때문에 rollback 안되고
delete 문만 아직 commit 전이기 때문에 rollback 이 적용된다.
'Oracle > SQL' 카테고리의 다른 글
SQL Select 절에 LOCK 을 거는 For Update (0) | 2021.11.30 |
---|---|
SQL 쿼리에 LOCK이 걸리는 경우 (0) | 2021.11.30 |
SQL 자동커밋 기능 활성화 시키기 (0) | 2021.11.30 |
SQL [DML문] MERGE 데이터 삽입,수정,삭제 한번에 (0) | 2021.11.30 |
SQL [TCL] COMMIT 과 ROLLBACK 이 암시적으로 수행되는 경우 (0) | 2021.11.30 |