by 김정식 VIEW 뷰 CREATE VIEW WITH CHECK OPTION WITH READ ONLY DROP VIEW [2002.01.20]

-- 뷰 생성 SQL> CREATE OR REPLACE VIEW name_query AS SELECT a.ename, b.dname FROM emp a, dept b WHERE a.deptno = b.deptno AND b.deptno = 20; -- 뷰를 이용한 조회 SQL> SELECT * FROM name_query; ENAME DNAME -------------------- ---------- SMITH RESEARCH JONES RESEARCH ...
뷰의 조건식을 만족하는 데이터만 INSERT 또는 UPDATE가 가능 하도록 하는 옵션 이다.
-- 부서 번호 10의 데이터를 조회 하는 뷰 SQL> CREATE OR REPLACE VIEW check_option AS SELECT empno, ename, deptno FROM emp WHERE deptno = 10 WITH CHECK OPTION ; -- 부서 번호가 10인 사원만 INSERT, UPDATE할 수 있다. SQL> INSERT INTO check_option(empno, ename, deptno) VALUES (10005, 'jain', 30); INSERT INTO check_option(empno, ename, deptno) * 1행에 오류: ORA-01402: 뷰의 WITH CHECK OPTION의 조건에 위배 됩니다
SELECT만 가능한 VIEW를 생성 한다
-- 아래 뷰는 읽기만 가능하다. SQL> CREATE OR REPLACE VIEW read_only AS SELECT empno, ename, deptno FROM emp WHERE deptno = 10 WITH READ ONLY;
USER_VIEWS 데이터 사전을 통해서 뷰에 대한 정보를 조회 할 수 있다.
SQL> SELECT view_name, text FROM USER_VIEWS;
- 강좌 URL : http://www.gurubee.net/lecture/1036
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.
VIEW란 일종의 테이블(원본)을 위한 窓 이라고 보심 될듯해요.
창을 통해 데이타를 보고 쬐끔 열어 물건을 넣는 통로가 되고...
위 김종현님 질문에 좋은 구분점이 보이네요.
뷰 정의를 통해 테이블의 데이타 타입을 좌우할 수는 없을 것 같네요.(오라클 버전이 20 이 되더라도^^)
마치 창을 새로 달아 펜션을 아파트로 바꿀 수 없는 것처럼..