수집된 데이터를 토대로 기존에 수집된 데이터를 수정 및 반영해야하는 경우가 있다.
일반적인 UPDATE ~ SET 방식이다.
UPDATE
[테이블명]
SET
[필드명 = 새로운 값]
WHERE
[조건문]
이번에는 UPDATE ~ SELECT 방식이다.
UPDATE
[테이블A],[Select 질의] B
SET
[테이블A].필드 = B.필드
WHERE
[테이블A].id = B.id
그렇다면 실제로 쓰여진 코드를 확인해보자.
UPDATE
tb_purchase_order_detail pod,
(SELECT
count(*) as total_quantity, purchase_detail_seq
FROM
tb_inventory
GROUP BY
purchase_detail_seq) i
SET
pod.inventory_quantity = i.total_quantity
WHERE
pod.purchase_detail_seq = i.purchase_detail_seq
쓰여진 코드는 생성된 재고 수량을 발주상세에 반영하는 코드 예제이다.