bypass_ujvc 힌트 썻는데 에러나네요. 0 3 3,677

by 손님 [Oracle 기초] ORA-01779 bypass_ujvc [2010.06.01 13:23:29]


UPDATE /*+ bypass_ujvc */
(
select A.HAPY_SEQN AS AA, 
       B.HAPY_SEQN AS BB
  FROM TBAS09M01 A, 
       TBAS09D02 B
 WHERE A.CONT_NUMB = B.CONT_NUMB
   AND A.INPT_PRSN = B.INPT_PRSN
   AND A.INPT_DATI = B.INPT_DATI
)        
SET BB = AA

ora-01779 에러가 나네요.
네이버에 ora-01779  이걸로 검색해보니 bypass_ujvc  힌트쓰면 해결된다는데

힌트쓰면서 에러나버리네요;;
by 자문자답 [2010.06.01 13:42:12]
WHERE 조건에 테이블의 키값을 조건으로 걸어주니 해결돼네요.;;
저는 그 키값에대해 업데이트를 하고싶은거였는데..,,흠....
키값에대해 업데이트 할라면 어찌해야하는지 아시는분~~^^;

by ^^ [2010.06.01 13:47:32]
A.HAPY_SEQN 이게 키값이라는 말씀 이신가요? 그럼 where절 조건은 1:M구조인가요? 즉 where절로 조인했을때 단일로우가 리턴되지 않고 여러 로우가 리턴되는 건가요?

by 자문자답 [2010.06.01 14:00:48]
네 여러로우가 리턴됩니다. 1:n 입니다.
--또 자문자답입니다.

MERGE /*+ USE_HASH(b) */ INTO TBAS09D02 a
USING TBAS09M01 b
ON (
A.CONT_NUMB = B.CONT_NUMB
AND A.INPT_PRSN = B.INPT_PRSN
AND A.INPT_DATI = B.INPT_DATI
)
WHEN MATCHED THEN
UPDATE
SET a.HAPY_SEQN = b.HAPY_SEQN
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입