트랜잭션
트랜잭션 = 여러 개의 SQL 명령문들을 하나의 논리적인 작업 단위로 처리하는 것.
All-OR-Nothing 방식*으로 처리
트랜젝션은 데이터의 일관성을 유지하기 위해 고안.
*한꺼번에 모든 sql문을 처리하거나 모두 하지 않거나. 명령어 처리 도중 하나의 명령어라도 잘못 되면 전체 실행 취소해버림. 모두 실행 후에는 정상 종료.
ex) 은행 atm의 트랜젝션
현금인출 신청
현금카드 삽입 후 본인 인증
인출금액 선택
atm에서 현금 습득
계좌에 인출 금액 만큼 차감
만약 중간 과정에서 오류 발생이 되면, 전체 취소
//COMMIT과 ROLLBACK
COMMIT: 모든 작업(DML*)들 정상 처리 확정 명령어. 영구저장.
ROLLBACK: 트랜잭션 실행 취소 명령어. 마지막으로 COMMIT한 시점으로 돌아감.
*DML: INSERT, UPDATE, DELETE
*DDL: CREATE, ALTER, DROP, RENAME, TRUNCATE
주의!) 자동 COMMIT / 자동 ROLLBACK 되는 경우
자동 COMMIT: DDL과 DCL 명령문이 수행된 경우 자동으로 COMMIT.
자동 ROLLBACK: 정전이 발생했거나 컴퓨터 Down시(컴퓨터의 전원이 끊긴) 자동으로 ROLLBACK.
댓글 없음:
댓글 쓰기