복붙노트

[SQL] 오라클에서는 뷰를 통해 레코드를 INSERT 또는 UPDATE 할 수 있습니까?

SQL

오라클에서는 뷰를 통해 레코드를 INSERT 또는 UPDATE 할 수 있습니까?

오라클에서, 레코드 (행)의 뷰를 통해 INSERT 또는 UPDATE 수 있습니까?

해결법

  1. ==============================

    1.오라클의 뷰는 특정 조건 하에서 업데이트 할 수 있습니다. 이 까다로울 수, 일반적으로 권장하지 않습니다 수 있습니다.

    오라클의 뷰는 특정 조건 하에서 업데이트 할 수 있습니다. 이 까다로울 수, 일반적으로 권장하지 않습니다 수 있습니다.

    오라클 10g SQL 참조에서 :

    업데이트 가능한 뷰에 대한 참고 사항

    갱신 가능한 뷰는 삽입, 업데이트 또는 삭제 기본 테이블 행에 사용할 수있는 것입니다. 당신은 본질적으로 갱신이 될 수있는 뷰를 만들 수 있습니다, 또는 당신은 그것을 업데이트 할 수 있도록 모든보기 상에 INSTEAD OF 트리거를 만들 수 있습니다.

    본질적으로 업데이트 할 수있는 뷰의 열, 쿼리 USER_UPDATABLE_COLUMNS 데이터를 사전보기를 수정할 수 있는지 여부를 어떤 방법으로하시기 바랍니다. 이 뷰에 의해 표시되는 정보는 본질적으로 업데이트 할 수있는 뷰에 대한 의미가 있습니다. 뷰는 본질적으로 업데이트 할 수 있으려면, 다음과 같은 조건이 충족되어야합니다 :

    본질적으로 업데이트 할 수있는 뷰가 pseudocolumns 또는 표현식을 포함하는 경우 또한, 당신은이 pseudocolumns 또는 표현의 참조하는 UPDATE 문을 사용하여 기본 테이블 행을 업데이트 할 수 없습니다.

    당신이이 갱신 가능 뷰에 가입 할 경우, 다음의 모든 조건이 충족되어야합니다

  2. ==============================

    2.오라클은 뷰 업데이트 가능한 만드는 두 가지 방법이 있습니다 -

    오라클은 뷰 업데이트 가능한 만드는 두 가지 방법이 있습니다 -

    나는 트리거 대신-의 멀리하고 기본 테이블을 업데이트하지 않고 직접 뷰를 통해 당신의 코드를 얻을 것입니다.

  3. ==============================

    3.당신이보기를 통해 레코드를 업데이트 할 수있는 두 시간이있다 :

    당신이보기를 통해 레코드를 업데이트 할 수있는 두 시간이있다 :

    당신이 특별히 대신에 OF 트리거 작성하지 않는 한 일반적으로, 당신은보기에 삽입을 수행 할 수있는에 의존해서는 안됩니다. 주의, 도움말을뿐만 아니라 기록 할 수 UPDATE 트리거 대신도있다 업데이트를 수행합니다.

  4. ==============================

    4.예, 당신이 업데이트하고보기에 삽입하고 편집은 원래의 테이블에 반영 될 수 있습니다 .... 그러나 1 뷰는 테이블에있는 모든 NOT NULL 값을 가져야한다 2 업데이트 "는 등 다른 외부 키에 관련된 기본 키를 ... 업데이트"... 테이블로 동일한 규칙이 있어야합니다 ...

    예, 당신이 업데이트하고보기에 삽입하고 편집은 원래의 테이블에 반영 될 수 있습니다 .... 그러나 1 뷰는 테이블에있는 모든 NOT NULL 값을 가져야한다 2 업데이트 "는 등 다른 외부 키에 관련된 기본 키를 ... 업데이트"... 테이블로 동일한 규칙이 있어야합니다 ...

  5. from https://stackoverflow.com/questions/1652995/in-oracle-is-it-possible-to-insert-or-update-a-record-through-a-view by cc-by-sa and MIT license