반응형
--UPDATE 문
테이블의 존재하는 데이터를 수정하는 작업. 업무를 처리하는데 필수적인 것이며 동시성에 유의해야한다.
update TABLE_NAME
set COLUMN_1 = VALUE1,
COLUMN_2 = VALUE2
where 조건;
-UPDATE는 대상 행에 대해서 락을 잡는다.
-락이란 다른 사용자는 해당 행에 대해서 작업을 하지 못한다는 것이다.
-즉 UPDATE를 한 후 재빨리 COMMIT을 하지 않는다면 RDBMS의 동시성이 낮아진다.
update link
set LAST_UPDATE = default
where LAST_UPDATE is null; --LAST_UPDATE컬럼이 NULL인 값을 대상으로 한다.
select * from LINK;
--전체 테이블 수정 - 특정 컬럼 이용
update link
set REL = 'NO DATA'; --WHERE절이 없으므로 테이블의 전체 행을 대상으로 한다.
update link
set DESCRIPTION = NAME;
--UPDATE JOIN문
UPDATE 시 다른 테이블의 내용을 참조 하고 싶을 때 UPDATE JOIN문을 사용한다.
복잡한 업무를 처리하는데 매우 유용한 방법
update TARGET_TABLE a --update 할 테이블 지정
set A.COLUMN_1 = 표현식 --특정 컬럼 update
from REF_TABLE b --참조 테이블 지정
where a.column_1 = b.column_2; --조인 조건
select * from product_segment ps ;
select * from
update product a
set net_price = a.price - (a.price * b.discount) --product_segment 테이블의 할인율 만큼 가격을 할인한 후 net_price 칼럼에 저장
from product_segment ps
where a.segment_id = ps.id;
반응형
'DataBase' 카테고리의 다른 글
[SQL] UPSERT 문 (0) | 2021.09.15 |
---|---|
[SQL] DELETE 문 (0) | 2021.09.15 |
[SQL] INSERT문 (0) | 2021.09.15 |
[SQL] WITH문 (0) | 2021.09.15 |
[SQL] LAG, LEAD 함수 (0) | 2021.09.15 |
댓글