파게로그
TCL(Transaction Control Language) 본문
COMMIT
- DML로 변경한 데이터를 DB에 반영
- 변경 전 이전 데이터는 잃어버리게 됨
- 다른 모든 DB 사용자는 변경된 데이터를 볼 수 있음
- COMMIT이 완료되면 DB 변경으로 인한 LOCK이 해제됨
- COMMIT이 완료되면 다른 모든 DB 사용자는 변경된 데이터를 조작할 수 있음
- COMMIT을 실행하면 하나의 트랜잭션 과정을 종료
- Oracle DB는 암시적 트랜잭션 관리를 함. Oracle DB로 트랜잭션 시작, 종료는 사용자의 COMMIT 또는 ROLLBACK
AUTO COMMIT
- SQL Plus를 정상적으로 종료하면 자동으로 commit
- DDL, DCL 사용 시 자동으로 commit
- SQL Plus에서 SET AUTOCOMMIT ON;을 실행하면 자동으로 commit
ROLLBACK
- 데이터에 대한 변경 사용을 모두 취소하고 트랜잭션을 종료
- INSERT, UPDATE, DELETE문의 작업을 모두 취소하여 이전에 COMMIT한 곳까지 복구
- ROLLBACK 실행 시 LOCK이 해제되고 다른 사용자도 데이터베이스 행을 조작할 수 있음
SAVEPOINT(저장점)
- 트랜잭션을 작게 분할하여 관리하는 것
- 저장된 위치 이후의 트랜잭션만 ROLLBACK할 수 있음
- SAVEPOINT <SAVEPOINT명>을 통해서 지정
- 지정된 SAVEPOINT까지만 데이터 변경을 취소하고 싶은 경우, ROLLBACK TO <SAVEPOINT명> 실행
- ROLLBACK 실행 시 SAVEPOINT와 관계없이 데이터의 모든 변경사항을 저장하지 않음
'콤퓨타 왕기초 > SQLD/JDBC/Oracle DB' 카테고리의 다른 글
계층형 조회(CONNECT BY) (0) | 2021.03.21 |
---|---|
join (0) | 2021.03.19 |
DCL(Data Control Language) (0) | 2021.03.18 |
WITH 구문 (0) | 2021.03.18 |
ROWNUM과 ROWID (0) | 2021.03.18 |
Comments