트랜잭션이란?
- an Atomic Unit of Work, Business Rule
- 어떤 작업을 수행하는데 있어 분리될 수 없는 단계의 묶음
- 작업의 단계 중 하나라도 실패하면 전체 작업이 실패 (All or Nothing)
--------------------------------------------------------------------------------------------------------------
- COMMIT
DML 작업들이 문제가 없어서 데이터베이스에 영구적으로 반영
- ROLLBACK
DML 작업 중 문제가 있어 모든 변경사항을 없었던 일로 되돌림
트랜잭션 시작 전으로 되돌림
- SAVEPOINT
트랜잭션의 중간으로 되돌릴 수 있도록 중간 지점 설정
--------------------------------------------------------------------------------------------------------------
- 세션 당 트랜잭션은 하나 (예외: 자율 트랜잭션)
- 트랜잭션의 시작: 첫 DML
- 트랜잭션의 종료: COMMIT, ROLLBACK
- DDL, DCL은 문장 자체가 하나의 트랜잭션 -> 의도치 않은 트랜잭션 종료 가능성
- 트랜잭션은 DML로 구성되며 SELECT 문은 트랜잭션에 아무런 영향 X
728x90
'데이터베이스' 카테고리의 다른 글
Oracle과 MySQL의 구조 차이 (0) | 2024.09.25 |
---|---|
오라클 교육용(무료) Oracle XE 21c 설치 롤백 오류 (1) | 2024.09.25 |
선언형(Declarative) 언어와 명령형(Imperative) 언어 (1) | 2024.09.25 |
[DB] 데이터의 종류 (1) | 2024.09.25 |
[ERD] 식별관계(Identifying Relationship)와 비식별관계(Non-Identifying Relationship) (0) | 2024.07.21 |