* 리스트 데이터를 UPDATE 해야할 때 사용 하는 쿼리이다.
1. (선 작업) 수정이 필요한 TABLE의 키 값과 수정해야할 값을 TEMP 테이블에 INSERT 한다. ( 엑셀로 IMPORT)
2. 아래 쿼리처럼 SET 구문에서 한 건만 나올수 있도록 JOIN을 사용해야한다. (난 이부분에 JOIN을 사용하지 않아서 쿼리 오류가 발생했었음.)
UPDATE SCOTT.PEOPLE A
SET = ( SELECT COL_DAT_VAL3
FROM SCOTT.TEMP B
WHERE SYS_RGTR_ID='250206002_9633'
AND A.ID = B.COL_DAT_VAL1
AND A.NM = B.COL_DAT_VAL2
)
,SYS_MDFR_ID = '250206002_9633'
,SYS_MDFCN_DT=SYSDATE
WHERE ( ID, NM ) IN
(
SELECT COL_DAT_VAL1 AS ID
,COL_DAT_VAL2 AS NM
FROM SCOTT.TEMP
WHERE SYS_RGTR_ID='250206002_9633'
);
'Database' 카테고리의 다른 글
[ oracle ] where 절에서 (+)와 값을 비교 하는 경우 (0) | 2024.09.24 |
---|---|
[ oracle ] 순위 함수 - ROW_NUMBER(), RANK(), DENSE_RANK() (0) | 2024.09.21 |