veggie의 기술기록
[DataBase] ORA-38104: ON 절에서 참조되는 열은 갱신할 수 없음: "IVAL"."COIL_NO" 본문
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만 조건절에서 빼줬다.
반응형
'IT_DataBase_Oracle' 카테고리의 다른 글
[DataBase] 행->열, 열->행 변환(크로스탭) (0) | 2022.01.11 |
---|---|
[DataBase] where 1=1의 의미 (0) | 2021.11.18 |
[DataBase] SQL Error [25156] [99999]: ORA-25156: 이전 방식의 포괄 조인(+)은 ANSI 조인과 함께 사용할 수 없음 (0) | 2021.11.18 |
[DataBase] 오라클 2개 이상 컬럼을 기본키로 지정하기 (0) | 2021.11.02 |
[DataBase] 조인을 했는데 중복값이 발생하거나 데이터가 잘못 나오는 경우 (0) | 2021.09.08 |
Comments