*뷰를 통해서는 기본 테이블의 어떤 컬럼에 대해서도 내용을 절대 변경할 수 없도록 하는 것이다.
문제_
뷰를 작성할때 with read only를 부여하는 경우 (읽기전용 뷰) 수정 X (부서번호가 30번인 부서이름을 출력)
=> delete
해설_
우선 수정이 가능한 뷰를 생성
SQL> create or replace view dept30
2 as select deptno,dname from dept
3 where deptno=30
4 with read only; //읽기 전용 뷰 옵션
뷰가 생성되었습니다.
추가해설_
delete from 뷰이름; // 테이블 대신에 사용
SQL> delete from dept30;
delete from dept30
*
1행에 오류:
ORA-42399: 읽기 전용 뷰에서는 DML 작업을 수행할 수 없습니다.
하지만 읽기 전용 뷰이기때문에 DML 작업이 안됨,, 지울수가 없음!
댓글