gwooden_코린이

오라클 데이터 베이스 트랜잭션 본문

데이터베이스

오라클 데이터 베이스 트랜잭션

gwooden22 2023. 1. 16. 16:05
728x90

1. 데이터 베이스 트랜잭션 특성 4가지

  1. 원자성
    1. 트랜잭션 안에 있는 모든 코드들은 전부 실행되거나, 실행되지 않거나 둘 중 하나여야 한다.
  2. 일관성
    1. 트랜잭션을 조작하는 테이블의 제약조건들을 잘 만족해야 한다.
  3. 고립성
    1. 트랜잭션끼리 서로 간섭하지 말아야 한다.
  4. 영속성
    1. 트랜잭션이 COMMIT되면 영구적으로 저장
    2. 트랜잭션이 제대로 실행되면 영구적으로 저장

 

CREATE TABLE TRAN_TEST
    AS SELECT * FROM DEPT;
--CREATE 트랜잭션 종료
    
SELECT * FROM TRAN_TEST;

--새 트랜잭션 시작
INSERT INTO TRAN_TEST
    VALUES(50, 'ORACLE', 'SEOUL');
    
DELETE FROM TRAN_TEST
    WHERE DEPTNO=20;
    
SELECT * FROM TRAN_TEST;

ROLLBACK;
--트랜잭션 취소

SELECT * FROM TRAN_TEST;


--새 트랜잭션 시작
UPDATE TRAN_TEST
    SET LOC = '서울'
WHERE DEPTNO = '40';

COMMIT;
--트랜잭션 반영되고 종료

--새 트랜잭션 시작
INSERT INTO TRAN_TEST
    VALUES(50, 'AA', 'B');

ROLLBACK; --마지막 COMMIT으로 감


SELECT * FROM TRAN_TEST;

 


--1번 사용자
INSERT INTO TRAN_TEST
    VALUES(50, 'ORALCE', 'SEOUL');
    
SELECT * FROM TRAN_TEST;

COMMIT;

UPDATE TRAN_TEST
    SET LOC = 'BUSAN'
WHERE DEPTNO=50;


SELECT * FROM TRAN_TEST;

COMMIT;

SELECT * FROM TRAN_TEST;

728x90
Comments