DML을 목적으로한 뷰를 만드는 상황
문제_
데이터를 입력하는데 id 값이 100 이하인 경우에만 입력을 허용 해주는 뷰를 작성하라(v_test1)
해설_
보통 id값은 id>=1
SQL> create table test1(id number);
테이블이 생성되었습니다.
SQL> insert into test1 values(1); // 데이터가 들어갔는지 확인하는 구문 데이터 삽입함!
1 개의 행이 만들어졌습니다.
SQL> create view v_test1
2 as select * from test1 where id < 100
3 with check option constraint test1_ck;
뷰가 생성되었습니다.
추가 형식_
insert into 뷰이름 values(값~); (요즘 방식
SQL> insert into v_test1 values(2);
1 개의 행이 만들어졌습니다.
SQL> insert into v_test1 values(3);
1 개의 행이 만들어졌습니다.
SQL> insert into v_test1 values(4);
1 개의 행이 만들어졌습니다.
SQL> insert into v_test1 values(5);
1 개의 행이 만들어졌습니다.
이렇게 id값을 2~5번까지 모두 입력을 하였다.
*된다.
100의 값보다 큰 120의 값을 넣으려고한다.
SQL> insert into v_test1 values(120);
insert into v_test1 values(120)
*
1행에 오류:
ORA-01402: 뷰의 WITH CHECK OPTION의 조건에 위배 됩니다
*안된다.
'Oracle > View' 카테고리의 다른 글
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 페이징 처리 기법 2 (0) | 2019.07.02 |
---|---|
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 페이징 처리 기법 1 (0) | 2019.07.02 |
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 단순뷰 1편 (0) | 2019.07.02 |
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 복합뷰 활용 3 (0) | 2019.07.02 |
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 복합뷰 활용 2 서브쿼리 (0) | 2019.07.02 |
댓글