본문 바로가기
Oracle/View

데이터 베이스_ 오라클 VIEW [view 종류, 관리] 복합뷰 활용 4

by Super Santj 2019. 7. 2.

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의 조건에 위배 됩니다

*안된다.

 

댓글