9. TRANSACTION CONTROL
1) Transaction의 개념
- Transaction: 논리적인 업무의 작업단위 의미
- Transaction Control LANGUAGE
SAVEPOINT // 현재 트랜잭션에 savepoint 지정
COMMIT // 아직 저장되지 않은 변경사항을 DB에 저장하고 현 트랜잭션 종료
ROLLBACK [TO SAVEPOINT명] // 아직 저장되지 않은 모든 변경사항 취소 후 트랜잭션 종료
- 구성: 데이터의 영구적인 변경을 하는 DML, 하나의 DDL, 하나의 DCL
- 트랜잭션의 종료: COMMIT OR ROLLBACK / DDL, DCL명령 / error, system crash, exit 등
2) 암시적(Implicit) 트랜잭션 제어 명령어
- 자동 COMMIT: DDL, DCL명령 실행 / COMMIT, ROLLBACK 없이 SQL*Plus 정상 종료
- ROLLBACK: SQL*Plus의 비정상 종료 혹은 시스템 실패
- COMMIT, ROLLBACK 이전의 데이터 상태
현재 사용자는 작업 결과 확인 가능하지만 다른 사용자는 확인 불가
변경된 행은 Lock 설정이 되어서 다른 User 변경 불가
- ROLLBACK후의 데이터 상태
데이터 변경사항 취소, 이전 데이터 재저장, 관련 행에 대한 LOCK 해제
3) SAVEPOINT를 이용한 ROLLBACK
- 현 트랜잭션 중에 위치 지정 가능
- 명령어: ROLLBACK TO SAVEPOINT
'프로그래밍 > SQL' 카테고리의 다른 글
[SQL 요약 정리] 1-11. 데이터 정의어(DDL) (0) | 2019.02.08 |
---|---|
[SQL 요약 정리] 1-10. DICTIONARY (0) | 2019.02.08 |
[SQL 요약 정리] 1-8. CONSTRAINT (0) | 2019.02.08 |
[SQL 요약 정리] 1-7. SUBQUERY (0) | 2019.02.08 |
[SQL 요약 정리] 1-6. JOIN (0) | 2019.02.08 |