Oracle/SQL
SQL [TCL] COMMIT / ROLLBACK
NO:LOO
2021. 11. 30. 20:42
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 이 적용된다.