[링크] /*+ BYPASS_UJVC */ and updatable views

By | 11월 17, 2009

 

http://blog.naver.com/orapybubu/40048824725

* 내가 이해하고 있는 선에서 요약하자면...

1. 기본적으로 view는 update가 가능하다.

2. table을 join 해서 view를 만들어 update를 할 때, 오라클은 다음의 조건을 만족하는 것을 요구한다.

   (1) view 내에서 한 번에 한 개의 테이블만 update 가능하다.

   (2) update의 대상이 되는 테이블의 PK나 UK는 반드시 select 되어야 한다.
        => update 대상 테이블의 ROW는 유니크해야한다.(select된 PK, UK가 2개 이상의 ROW로 중복되면 안된다)

3. 2-(2) 에서 update 대상 테이블의 ROW가 유일하지 않으면 오라클이 오류를 내고 멈추게 되는데,
    그 상황을 무마시키고 update를 강행하게 해 주는 것이 /*+ BYPASS_UJVC */ 힌트이다.
    (/*+ BYPASS_UJVC */는 Undocumented Hint로서, 이로 인한 데이터 무결성의 문제는 오라클에서 책임지지 않음)

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments