티스토리 뷰

(구)개발

ORACLE 10g에서 JOIN UPDATE를.araboja

살아남자제발 2018. 6. 8. 00:06


오라클이 10g에서 쓸 수 있던 BYPASS_UJVC 힌트를 11g에서는 사용못하게 막았다. 


아래 쿼리를 11g에서 해보진 않았지만...사용이 불가능할 듯 하다




※ BYPASS_UJVC 힌트란 무엇일까? 이에 대해 간단히 설명하면 UPDATE 시에 키보존 테이블에 대해 DML이 불가능한 것을 가능하게 해주는 힌트라고 이해할 수 있다.

(출처: http://www.gurubee.net/lecture/2795)





A테이블에 A_ID라는 컬럼이 있고

B테이블에는 B_ID라는 컬럼을 추가했다.


그리고


A테이블에 A_NAME이라는 컬럼에 값이 있고

B테이블에 B_NAME에는 같은 값이 들어가 있다.



쿼리로 A_ID를 B_ID라는 컬럼에 채워 넣어야해서 사용한 구문이다.


JOIN구문을 쓰진 않았지만... 딱히 뭐라고 써야할지 몰라서 ㅇㅇ



update /*+ BYPASS_UJVC  */

(select t1.A_ID AS AID, t2.B_ID AS BID 

from A_TABLE t1, B_TABLE t2

where t1.A_NAME = t2.B_NAME)

set BID = AID


위 쿼리를 이용해 업데이트 완료.




최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함