## 트랜잭션
-- 업무처리를 위한 최소 단위
-- 여러개의 dml 문의 묶음
-- DDL, DCL 단독 트랜잭션
## 트랜잭션 특징
-- 원자성 : 5개의 dml문으로 구성된 트랜잭션인 경우 일부만 수행되면 안된다
==> ALL OR NOTHING
-- 일관성 : 트랜잭션의 수행이 끝나면 일관성이 유지된다.
-- 고립성 :
-- 지속성 :
## 트랜잭션 연산
-- COMMIT : DB에 영구 저장
-- ROLLBACK : 작업취소 (트랜잭션 수행 이전 상태 복구)
-------------------------------------------------------------------------------
CREATE TABLE TT1 (
A NUMBER(3),
B NUMBER(3)
);
INSERT INTO TT1 VALUES(10,10);
INSERT INTO TT1 VALUES(20,20);
INSERT INTO TT1 VALUES(30,30);
SELECT * FROM TT1;
다른 유저에게 권한 주기
GRANT SELECT ON TT1 TO PUBLIC;
SELECT * FROM AA15.TT1;
## 트랜잭션 SAVE POINT 실습
create table tt2(
a number(3),
b number(3)
);
insert into tt2 values(10,10);
insert into tt2 values(20,20);
savepoint sp1;
update tt2 set b = 100 where a=10;
update tt2 set b = 200 where a=20;
savepoint sp2;
insert into tt2 values (50,50);
insert into tt2 values(60,60);
select * from tt2;
rollback to sp2;
commit;
---------------------------------------------------
CREATE ~~~
INSERT ~~~
INSERT ~~~
UPDATE ~~~
GRANT ~~~
DELETE ~~~
INSERT ~~~
----------------------------------------------------
## 트랜잭션 시작
-- 로그인
-- COMMIT / ROLLBACK 이후
-- DDL / DCL 이후
## 트랜잭션 종료
-- 정상적 로그아웃 => COMMIT
-- 비정상적 로그아웃 => ROLLBACK
-- COMMIT / ROLLBACK
-- DDL / DCL 이전
'Lobo's study room > 오라클DB' 카테고리의 다른 글
[실습]커피숍 DB 만들기 (0) | 2022.02.10 |
---|---|
oracle 설치하기 (0) | 2022.02.10 |
Oracle DB의 INDEX와 시퀀스 (0) | 2022.02.10 |
Oracle DB의 DML (0) | 2022.02.10 |
Oracle DB의 DDL (0) | 2022.02.10 |