본문 바로가기

데이터베이스

Oracle - JOIN UPDATE, 트랜잭션(TRANSACTION)

두개 이상의 테이블을 조인하여 UPDATE


예제를 확인해봅시다!!!

 

create table test3(
    num number,
    name varchar2(10),
    price number,
    primary key(num)
);

업데이트 할 내용 조회

select t3.num, t3.price before, t2.price after
from test3 t3, test2 t2
Where t3.num = t2.num;

 

 

값을 채워넣고

                 

    잘수정됬다!

이부분을  병합해주면?

merge into test3 t3
using test2 t2
on(t3.num = t2.num)
when matched then
update set t3.price = t2.price;

값이 똑같다!


 

--트랜잭션(TRANSACTION)--

 

-데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위를 의미

*원자성

- 트랜잭션이 데이터베이스에 모두 반영되던가 아니면 전혀 반영되지 않아야 함

 

*일관성

-트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 함

 

*독립성

-둘 이상의 트랜잭션이 동시에 실행되고 있을 경우 다른 트랜잭션의 연산에 끼어들 수 없어야 함

 

*지속성

-트랜잭션이 성공적으로 완료됐을 경우, 결과는 영구적으로 반영되어야 함

 

*TCL(Transaction Control Language)

COMMIT 트랜잭션 확정
ROLLBACK 트랜잭션 취소
CHECKPOINT 복귀지점 설정

 

시작[활동]  > 성공 [부분적 완료]>commit[완료]

       > 오류  [실패]   > Rollback[철회]

 

 

'데이터베이스' 카테고리의 다른 글

Oracle - ORDER BY 절 / 집합 연산  (0) 2020.09.15
Oracle - SELECT 문  (0) 2020.09.15
Oracle - MERGE (병합) 문  (0) 2020.09.14
Oracle - DML 명령어  (0) 2020.09.14
Oracle - data Dictionary(데이터 사전)  (0) 2020.09.14