IT_DataBase_Oracle
[DataBase] ORA-38104: ON 절에서 참조되는 열은 갱신할 수 없음: "IVAL"."COIL_NO"
예지콩먹어콩
2021. 10. 28. 10:48
반응형
원인 : ON절에서 참조하는 열을 갱신하려 했기 때문
나의 쿼리 :
MERGE INTO TABLE1 a
USING
(SELECT
SEQ ,
substr(NUM ,1,11) AS NUM3
,NUM
,NUM2
FROM TABLE1
WHERE 1=1
AND NUM LIKE '%-%') b
ON (a.SEQ =b.seq
AND a.NUM = b.NUM
AND a.NUM2 = b.NUM2)
WHEN MATCHED THEN
UPDATE
SET a.NUM= b.NUM3;
merge문을 쓰는 도중 저 오류가 났다. 조건절에 있는 열을 업데이트하려 했기 때문이다.
해결 : 업데이트하려는 열을 조건절에서 빼고, 다른 비교조건이 있다면 찾아서 대체해주면 된다.
나는 NUM2로만으로도 충분히 중복제거가 가능해서, 그냥 NUM만 조건절에서 빼줬다.
반응형