SET TRANSACTION ISOLACTION LEVEL SERIALIZABLE;
<TX1> | <TX2> | |
---|---|---|
1) SELECT 당월주문금액 INTO :AMT FROM 고객 WHERE 고객번호 = 123; | t1 | |
t2 | 1) UPDATE 고객 SET 당월주문금액 = 60000, 등급 = 'A' WHERE 고객번호 = 123; | |
t3 | COMMIT; | |
2) IF :AMT >= 50000 THEN | t4 | |
UPDATE 고객 SET 등급 = 'A' WHERE 고객번호=123; | ||
ELSE | ||
UPDATE 고객 SET 등급 = 'B' WHERE 고객번호=123; | ||
END IF; | ||
3) COMMIT; | t5 |
<TX1> | <TX2> | |
---|---|---|
1) SELECT 잔고 INTO :BALANCE FROM 계좌 WHERE 고객번호 = 123; | t1 | |
t2 | 1) UPDATE 계좌 SET 잔고 = 잔고 - 50000, 등급 = 'A'; | |
t3 | COMMIT; | |
2)UPDATE 계좌 SET 잔고=잔고-10000 WHERE 계좌번호=123 AND 잔고 >= 10000; | t4 | |
3) IF SQL%ROWCOUNT = 0 THEN ALTER( '잔고가 부족합니다.' ); END IF; | t5 | |
4) COMMIT; | t6 |
<TX1> | <TX2> | |
---|---|---|
1) INSERT INTO 직역별고객 SELECT 지역, COUNT(*) FROM 고객 GROUP BY 지역; | t1 | |
t2 | 1) INSERT INTO 고객(고객번호, 이름, 지역, 연령대, ...) VALUES( :A, :B, :C, :D,... ); | |
t3 | COMMIT; | |
2) INSERT INTO 연령대별고객 SELECT 연령대, COUNT(*) FROM 고객 GROUP BY 연령대; | t4 | |
3) COMMIT; | t5 |
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
<TX1> | <TX2> | |
---|---|---|
1) INSERT INTO 로그백업 SELECT * FROM 로그; | t1 | |
t2 | 1) INSERT INTO 로그( 일시, ID, ...) VALUES( SYSDATE, 'A0001', ...); | |
t3 | COMMIT; | |
2) DELETE FROM 로그; | t4 | |
3) COMMIT; | t5 |
- 강좌 URL : http://www.gurubee.net/lecture/3078
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.