View는 사용자가 실제로 테이블을 만들고 데이터를 집어넣어서 사용하는 것이 아니라 이미 만들어진 Table에서 자신이 원하는 일부를 마치 테이블 처럼 정의 한 것이다.

뷰를 만드는 형식은 아래와 같다.

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW viewname  [(alias[, alias..)]
AS subqurey
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY [CONSTRAINT constraint]];
     
각각의 옵션을 보자

OR REPLACE : 만약에 기존에 만들어 놓은 똑같은 이름의 View가 있다면 덮어 써라.
         FORCE : DB에 View로 사용할 테이블이 존재하지 않더라도 View를 만들어라.
     NOFORCE : DB에 View로 사용할 테이블이 존재하지 않으면 만들지 말아라.
WITH CHECK OPTION : View에서 insert, update 작업을 할때 사용되는 제약사항을 기술한다.
WITH READ ONLY : 이 옵션을 사용하면 View는 오직 읽기만 가능하다.      


ex) EMPLOYEE 테이블의 EMPNO와 NAME을 VIEW로 만들고 싶은 경우
    1. 기본 문법
      CREATE VEIW EMPLOYEE_VIEW AS
      SELECT EMPNO, NAME
         FROM EMPLOYEE;

사용방법은 SELECT 문과 같다.
 
     SELECT *
        FROM EMPLOYEE_VIEW;

  2. 옵션을 사용한 문법
      CREATE OR REPLACE VIEW EMPLOYEE_VIEW AS
      SELECT EMPNO, NAME
         FROM EMPLOYEE
           WITH READ ONLY;

Posted by 서오석
,