728x90
반응형
* Simple 뷰를 사용하는 경우는 아무 문제없이 임의의 로우 데이터를 갱신할 수 있지만 Complex 뷰를 사용하는 경우는 다음의 조건 하에서는 로우 데이터의 갱신이 불가능하다.
-> 그룹 함수와 Group by 절을 사용하여 만든 Complex 뷰인 경우 -> Distinct 옵션을 사용하여 만든 Complex 뷰인 경우 -> Rownum 키워드를 사용하는 경우 -> 컬럼 설정시 표현(Expression)을 사용하는 경우 |
* 뷰를 사용하여 로우 데이터를 추가할 때 Simple 뷰를 사용하는 경우는 위의 경우와 마찬가지로 아무 문제없이 임의의 로우 데이터를 추가할 수 있지만 Complex 뷰를 사용하는 경우는 다음의 조건 하에서는 로우 데이터의 추가가 불가능하다.
-> 그룹 함수와 Group by 절을 사용하여 만든 Complex 뷰인 경우 -> Distinct 옵션을 사용하여 만든 Complex 뷰인 경우 -> 컬럼 설정시 표현을 사용하는 경우 -> Rownum 키워드를 사용하는 경우 -> 뷰에 의하여 선택된 컬럼들 가운데 Not null 컬럼이 없는 경우 |
* 뷰를 생성할 때 Not null로 설정된 컬럼을 포함하지 않았다면 뷰를 통해서 로우 데이터를 추가할 때도 마찬가지로 그 Not null로 설정된 컬럼에는 Null 값이 들어갈 수밖에 없다. 그러므로 Not null 제한 조건을 위반하게 되는 것이다.
728x90
반응형
'Operating System > ORACLE' 카테고리의 다른 글
[ORACLE] Currval과 Nextval (0) | 2022.02.24 |
---|---|
[ORACLE] 시퀀스 (0) | 2022.02.23 |
[ORACLE] 뷰(Simple 뷰, Complex 뷰) (0) | 2022.02.14 |
[ORACLE] 제약 조건 (Constraints) (0) | 2022.02.11 |
[ORACLE] 데이터 잠금 (Locking) (0) | 2022.02.10 |