트랜잭션 제어의 필요성 - 정상적인 상태, 비정상적인 상태

CODEDRAGON Development/Database

반응형


 

트랜잭션 제어의 필요성

·       트랜잭션에 4개의 SQL문장이 정의되어 있습니다.

·       트랜잭션의 묶음인 4개의 모든 문장이 정상적으로 수행 되어야만 데이터베이스 내에 원하는 결과가 반영됩니다.

·       그러나 2번째 작업단위의 SQL문장까지만 정상적으로 수행되고 3 작업의 SQL문장이 수행되는 도중에 프로그램이 중단되거나 하드웨어 이상이나 고장이 발생했다면 이제까지 작업한 2번까지의 모든 작업이 취소가 되면서 트랜잭션 작업 데이터 베이스 상태로 돌아가게 됩니다.

·       오라클에서는 이러한 트랜잭션을 제어 하기 위한 명령어를 제공하고 있습니다.

 

 

 

 

 

트랜잭션 수행중 오류가 경우

부모님 계좌에서 자식 계좌로 용돈을 1,000,000 이체하는 하나의 트랜잭션에 들어가는 4개의 SQL문이 있습니다.

전체 4 작업 논리적 단위로 어떤 부분의 작업이 완료되었다 하더라도, 다른 부분의 작업이 완료되지 않을 경우 전체 취소됩니다. 이때, 작업이 완료되는 것을 커밋(commit)이라고 하고, 작업이 취소되는 것을 롤백(rollback)이라고 합니다.


정상적인 상태

   

비정상적인 상태

반응형