본문 바로가기
IT/Database

[Oracle] savepoint

by 성준하이 2023. 11. 11.
반응형

데이터베이스를 공부하다보면 

Commit, Rollback 이랑 함께 나오는 단어가 있는데 savepoint이다.

 

게임에서 시점을 저장하는것과 비슷한 개념으로 생각하면 된다.

 

간단하게 예제로 바로 알아보면 이해가 갈것이다.

1. Insert into table values ('1');

2. SAVEPOINT save1;

3. Insert into table values ('2');

4. SAVEPOINT save2;

5. Delete from table;

6. Rollback to save1;

흐름대로 보면

 

1번
1 을 넣는다.

 

2번

save1이라는 이름으로 저장한다.

 

3번

2를 넣는다.

 

4번

save2라는 이름으로 저장한다.

 

5번

모든 데이터를 삭제한다.

 

6번

save1지점으로 돌아간다.

 

이렇게 되면 결과는 save1 지점 결과인 1만 들어가있는 상태가 된다.

 

savepoint를 사용하기 위해서는 autocommit 기능을 

SET AUTOCOMMIT OFF;

하여 끄고 진행을 해야 가능하다.

반응형

댓글