Day37 - TCL ( COMMIT, ROLLBACK, SAVEPOINT)

2021. 4. 7. 18:00Oracle 공부

이번에는 DCL 문에 대해서 알아 봅시다

 

TCL ( Transaction Control Language )

DML에 의해 조작된 데이터의 작업단위(트랜잭션) 별로 제어하는 명령어

 

DML ( INSERT , UPDATE , DELETE ...) 을 사용하면 데이터를 추가하거나 변경하거나 삭제하는게 가능한데, 실제로 이러한 행동들을 모아서 묶어놓은 작업의 단위를 트랜잭션 이라고 합니다.

트랜잭션은 실제로 데이터들을 데이터베이스에 저장하는 게 아니라, 가지고만 있습니다.

그래서, 실제 데이터베이스에 값을 저장하기 위해서 COMMIT을 해주어야 합니다.

 

※ 자동 COMMIT 이 되는 경우.

1. SET AUTOCOMMIT ON

2. COMMIT or ROLLBACK

3. DCL 사용

4. 사용자가 SQL PLUS를 종료

5. 데이터베이스 비정상적 종료

COMMIT -> 트랜잭션 저장

지금까지 DML 문을 사용해서 데이터를 추가, 수정, 삭제 한 것을 데이터베이스에 반영합니다.

ROLLBACK -> 트랜잭션 초기화

지금까지 DML 문을 사용해서 데이터를 추가, 수정, 삭제 한 것을 초기화 합니다.

SAVEPOINT -> 트랜잭션 분기점을 정합니다.

SAVEPOINT 를 사용한 트랜잭션까지 저장합니다.

 

실제로 SAVEPOINT 는 잘 사용하지 않는다고 합니다. 알아만 두세요

 

고생하셨습니다.