트랜잭션이란?
100만원이 들어있는 A계좌에서 -> 잔액이 0원인 B계좌로 100만원을 이체 한다라는 과정.
1. -> A계좌 잔액을 0원으로 변경하는 UPDATE문 실행
UPDATE ACCOUNT SET BALANCE = 0 WHERE ACCNO = A계좌번호
2. -> B계좌 잔액을 100만원으로 변경하는 UPDATE문 실행
UPDATE ACCOUNT SET BALANCE = 1,000,000 WHERE ACCNO = B계좌번호
갑자기, 1번 SQL문을 실행 후, DBServer에 문제가 생기면, 그 돈은 증발해버립니다.
따라서, 두 UPDATE문은 하나의 실행 단위처럼 꼭 붙어 있어야 한다.
트랜잭션이란 더 이상 분할할 수 없는 최소 수행 단위를 뜻하며, 한 개 이상의 조작 명령어(DML)로 이루어 진다.
트랜잭션은 하나의 트랜잭션 내에 있는 여러 명령어를 한 번에 수행하여 작업을 완료하거나,
아예 모두 수행하지 않는 상태, 즉 모든 작업을 취소한다.
이러한 특성으로 트랜잭션 의미를 'ALL OR NOTHING' 문장으로 설명하기도 하며,
트랜잭션을 제어하기 위해 사용하는 명령어를 TCL(Transaction Control Language) 이라고 한다.
728x90
'구트아카데미 > 6. Oracle' 카테고리의 다른 글
[Oracle] 명령어 정리 (0) | 2021.09.13 |
---|---|
[Oracle] 서브쿼리 (0) | 2021.09.06 |
[Oracle] 등가 조인 , 비등가 조인 (0) | 2021.09.03 |
[Oracle] 특정 문자를 지우는 TRIM,LTRIM,RTRIM (0) | 2021.09.02 |
[Oracle] 두 문자열 데이터를 합치는 CONCAT (0) | 2021.09.02 |