안녕하세요
호고코입니다 ㅎㅎㅎㅎ

오늘은 트랜잭션에 대해서 정리를 해보겠습니다!
1. 트랜잭션이란?
트랜잭션 정의
|
데이터베이스의 논리적 연산단위
|
|
분리될 수 없는 한 개 이상의 데이터베이스 조작
|
||
ALL OR NOTHING (전부 적용하거나 전부 취소)
|
2. 트랜잭션 특징
원자성
(AUTOMICITY)
|
정의된 연산들은 모두 성공적으로 실행되던지 실행이 되지 않은 상태로 남아있어야 함
|
|
ALL OR NOTHING
|
||
일관성
(CONSISTENCY)
|
트랜잭션이 실행된 이후에도 데이터베이스의 내용에 이상이 있으면 안됨
|
|
고립성
(ISOLATION)
|
트랜잭션이 실행되는 도중에 다른 트랜잭션에 영향을 받지않음
|
|
지속성
(DURABILITY)
|
트랜잭션이 성공적으로 수행이 됐을때, 내용은 영구적으로 저장
|
3. COMMIT
COMMIT
|
COMMIT;
명령어를 통하여 트랜잭션을 완료할 수 있음
|
|
COMMIT 이전의 상태는
메모리 BUFFER에만 영향을 받았기 때문에,
이전 상태로 복구가 가능
|
||
변경된 행은 잠금(LOCKING)이 설정되어 있어
다른 사용자가 수정할 수 없음
|
||
현재 사용자는 SELECT 문장으로 수정된 결과를 확인 가능
다른 사용자는 수정된 결과를 확인할 수 없음
|
COMMIT;
4. ROLLBACK
ROLLBACK
|
ROLLBACK;
명령어를 통해 이전 상태로 돌아갈 수 있음
|
|
입력, 수정, 삭제한 데이터들을 이전 상태로 되돌릴 수 있음
(COMMIT이 선언되기 이전)
|
||
변경사항이 취소되며,
잠금(LOCKING)이 풀려 다른 사용자가 데이터를 변경할 수 있음
|
ROLLBACK;
5. SAVEPOINT
저장점
(SAVE POINT)
|
ROLLBACK 할 때 현 시점에서 SAVEPOINT까지 트린잭션의 일부만 롤백할 수 있음
|
※ 현재 지점을 저장할 경우 SAVEPOINT (저장점명); ※ 저장한 지점까지 롤백할 경우 ROLLBACK TO (저장점명);
'Database' 카테고리의 다른 글
[Database] SQL 내장함수 (단일행 함수) 알아보기! (FLOOR,CEIL,ROUND,SUBSTR,TRUNC 등) (0) | 2022.12.18 |
---|---|
[Database] 연산자 정리하기! (LIKE, NOT, AND, BETWEEN 등) (0) | 2022.12.16 |
[Database] DML(INSERT, UPDATE, DELETE, SELECT) 알아보기! (0) | 2022.12.12 |
[Database] 오라클 테이블 컬럼 추가, 수정, 삭제, 이름변경 하기! (0) | 2022.12.08 |
[Database] 제약조건(CONSTRAINT) 알아보기 (추가,삭제) (0) | 2022.12.06 |