[SQL] 오라클에서는 뷰를 통해 레코드를 INSERT 또는 UPDATE 할 수 있습니까?
SQL오라클에서는 뷰를 통해 레코드를 INSERT 또는 UPDATE 할 수 있습니까?
오라클에서, 레코드 (행)의 뷰를 통해 INSERT 또는 UPDATE 수 있습니까?
해결법
-
==============================
1.오라클의 뷰는 특정 조건 하에서 업데이트 할 수 있습니다. 이 까다로울 수, 일반적으로 권장하지 않습니다 수 있습니다.
오라클의 뷰는 특정 조건 하에서 업데이트 할 수 있습니다. 이 까다로울 수, 일반적으로 권장하지 않습니다 수 있습니다.
오라클 10g SQL 참조에서 :
업데이트 가능한 뷰에 대한 참고 사항
갱신 가능한 뷰는 삽입, 업데이트 또는 삭제 기본 테이블 행에 사용할 수있는 것입니다. 당신은 본질적으로 갱신이 될 수있는 뷰를 만들 수 있습니다, 또는 당신은 그것을 업데이트 할 수 있도록 모든보기 상에 INSTEAD OF 트리거를 만들 수 있습니다.
본질적으로 업데이트 할 수있는 뷰의 열, 쿼리 USER_UPDATABLE_COLUMNS 데이터를 사전보기를 수정할 수 있는지 여부를 어떤 방법으로하시기 바랍니다. 이 뷰에 의해 표시되는 정보는 본질적으로 업데이트 할 수있는 뷰에 대한 의미가 있습니다. 뷰는 본질적으로 업데이트 할 수 있으려면, 다음과 같은 조건이 충족되어야합니다 :
본질적으로 업데이트 할 수있는 뷰가 pseudocolumns 또는 표현식을 포함하는 경우 또한, 당신은이 pseudocolumns 또는 표현의 참조하는 UPDATE 문을 사용하여 기본 테이블 행을 업데이트 할 수 없습니다.
당신이이 갱신 가능 뷰에 가입 할 경우, 다음의 모든 조건이 충족되어야합니다
-
==============================
2.오라클은 뷰 업데이트 가능한 만드는 두 가지 방법이 있습니다 -
오라클은 뷰 업데이트 가능한 만드는 두 가지 방법이 있습니다 -
나는 트리거 대신-의 멀리하고 기본 테이블을 업데이트하지 않고 직접 뷰를 통해 당신의 코드를 얻을 것입니다.
-
==============================
3.당신이보기를 통해 레코드를 업데이트 할 수있는 두 시간이있다 :
당신이보기를 통해 레코드를 업데이트 할 수있는 두 시간이있다 :
당신이 특별히 대신에 OF 트리거 작성하지 않는 한 일반적으로, 당신은보기에 삽입을 수행 할 수있는에 의존해서는 안됩니다. 주의, 도움말을뿐만 아니라 기록 할 수 UPDATE 트리거 대신도있다 업데이트를 수행합니다.
-
==============================
4.예, 당신이 업데이트하고보기에 삽입하고 편집은 원래의 테이블에 반영 될 수 있습니다 .... 그러나 1 뷰는 테이블에있는 모든 NOT NULL 값을 가져야한다 2 업데이트 "는 등 다른 외부 키에 관련된 기본 키를 ... 업데이트"... 테이블로 동일한 규칙이 있어야합니다 ...
예, 당신이 업데이트하고보기에 삽입하고 편집은 원래의 테이블에 반영 될 수 있습니다 .... 그러나 1 뷰는 테이블에있는 모든 NOT NULL 값을 가져야한다 2 업데이트 "는 등 다른 외부 키에 관련된 기본 키를 ... 업데이트"... 테이블로 동일한 규칙이 있어야합니다 ...
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
'SQL' 카테고리의 다른 글
[SQL] 웹 응용 프로그램에서 밖으로 쿼리 시간이지만 관리 스튜디오에서 벌금을 실행 (0) | 2020.05.21 |
---|---|
[SQL] MySQL의 대량 INSERT 또는 UPDATE (0) | 2020.05.21 |
[SQL] 쉘 변수로 MySQL의 쿼리 결과를 저장 (0) | 2020.05.21 |
[SQL] 쿼리 창에서 SQL 서버로 유니 코드 텍스트를 삽입하는 방법 (0) | 2020.05.21 |
[SQL] 안드로이드 SQLite는 쿼리에 LIMIT 인수를 사용하는 방법 (0) | 2020.05.21 |