CODEDRAGON ㆍDevelopment/Database
트랜잭션 제어의 필요성
· 트랜잭션에 4개의 SQL문장이 정의되어 있습니다.
· 트랜잭션의 한 묶음인 이 4개의 모든 문장이 정상적으로 수행이 되어야만 데이터베이스 내에 원하는 결과가 반영됩니다.
· 그러나 2번째 작업단위의 SQL문장까지만 정상적으로 수행되고 3번 작업의 SQL문장이 수행되는 도중에 프로그램이 중단되거나 하드웨어 이상이나 고장이 발생했다면 이제까지 작업한 2번까지의 모든 작업이 취소가 되면서 트랜잭션 작업 전 데이터 베이스 상태로 돌아가게 됩니다.
· 오라클에서는 이러한 트랜잭션을 제어 하기 위한 명령어를 제공하고 있습니다.
트랜잭션 수행중 오류가 발생할 경우
부모님 계좌에서 자식 계좌로 용돈을 1,000,000원 이체하는 하나의 트랜잭션에 들어가는 4개의 SQL문이 있습니다. |
전체 4개 작업 중 논리적 단위로 어떤 한 부분의 작업이 완료되었다 하더라도, 다른 부분의 작업이 완료되지 않을 경우 전체 취소됩니다. 이때, 작업이 완료되는 것을 커밋(commit)이라고 하고, 작업이 취소되는 것을 롤백(rollback)이라고 합니다.
정상적인 상태
비정상적인 상태
'Development > Database' 카테고리의 다른 글
동의어의 종류 (0) | 2019.02.11 |
---|---|
인덱스(INDEX) (0) | 2019.02.11 |
SQL 데이터 조작어(DML: Data Manipulation Language) - 데이터 조작어의 명령어 종류, SQL의 테이블과 관계 데이터 모델의 릴레이션과의 차이점 (0) | 2019.02.07 |
ALTER TABLE ~ MODIFY COLUMN (0) | 2019.02.07 |
ALTER TABLE ~ ADD COLUMN (0) | 2019.02.07 |