◈ COMMIT
커밋은 INSERT, UPDATE, DELETE문으로 변경한 데이터를 데이터베이스에 반영한다.
변경 전 이전 데이터는 잃어버린다. 즉, A값을 B로 변경하고 COMMIT을 하면 A값은 잃어버린다.
COMMIT이 완료되면 다른 모든 데이터베이스 사용자는 변경된 데이터를 볼 수 있다.
COMMIT을 실행하면 하나의 트랜잭션 과정을 종료한다.
SQL> UPDATE EMP SET ~~
SQL> commit;
commit을 하면 이전의 삽입, 수정, 삭제 내용이 모두 데이터베이스에 저장된다.
◈ ROLLBACK
ROLLBACK을 실행하면 데이터에 대한 변경 사용을 모두 취소하고 트랜잭션을 종료한다.
SELECT, UPDATE, DELETE문의 모든 작업을 취소한다. 단, 이전에 COMMIT한 곳까지만 복구한다.
◈ SAVEPOINT (저장점)
SAVEPOINT는 트랜잭션을 작게 분할하여 관리하는 것으로 SAVEPOINT를 사용하면 지정된 위치까지만 트랜잭션을 ROLLBACK할 수 있다.
SAVEPOINT의 지정은 SAVEPOINT<SAVEPOINT명>을 실행한다.
지정된 SAVEPOINT까지만 데이터 변경을 취소하고 싶은 경우는 ROLLBACK TO <SAVEPOINT명>을 실행하면 된다.
savepoint t2;
update emp set ename='하이마트' where empno=101;
하이마트로 변경된 것을 확인할 수 있다.
rollback to t2;
select * from emp;
t2 시점으로 rollback을 한 것을 확인할 수 있다.
'데이터베이스' 카테고리의 다른 글
[ORACLE 9일차] UNION, MINUS, Connect by (0) | 2019.01.15 |
---|---|
[ORACLE 8일차] JOIN (0) | 2019.01.14 |
[ORACLE 6일차] DCL (0) | 2019.01.12 |
[ORACLE 5일차] DML (4) (0) | 2019.01.11 |
[ORACLE 4일차] DML (3) (0) | 2019.01.10 |