728x90
1. transaction
⦁ transaction은 데이터베이스 내에서 하나의 그룹으로 처리되어야 하는 명령문들을 모아 놓은 논리적 작업 단위
⦁ 여러 명령어의 집합을 하나의 처리로 다루는 기능
⦁ 모든 명령어가 정상적으로 처리되면 commit을 통해 정상 종료됨
⦁ 하나의 명령어라도 잘못되면 모두 취소되고 rollback을 통해 원상 복구됨
⦁ savepoint를 통해 원하는 지점으로 rollback 가능
⦁ savepoint를 통해 원하는 지점으로 rollback 가능
⦁ transaction은 원자성, 일관성, 독립성, 지속성의 특징을 가짐
a. transaction 상태
⦁ Active : transaction 실행중인 상태
⦁ Failed : transaction 실행중 오류가 발생하여 중단된 상태
⦁ Aborted : transaction이 비정상적으로 종료되어 롤백 연산을 수행한 상태
⦁ Partially Committed : transaction의 모든 명령어를 실행 후, commit이 실행되기 직전의 상태
⦁ Commit : transaction이 성공적으로 종료되어 commit연산을 실행한 후의 상태
2. Example
a. transaction
#transaction 시작
start transaction;
#원하는 저장지점을 정함
savepoint sp3;
insert into user_mst
values (0, 'jjj', '1234', '김준일', 'jjj@gmail.com');
select * from user_mst;
#명령을 실행하기 전으로 돌림
rollback to sp1;
#transaction을 끝냄
commit;