VIEW란?
- 논리적 가상 테이블
- 테이블의 모양을 하고는 있지만, 실제로 값을 저장하고 있지는 않음
- SELECT문의 실행 결과(RESULT SET)를 저장하는 객체
사용 목적
- 복잡한 SELECT문을 쉽게 재사용하기 위해
- 테이블의 진짜 모습을 감출 수 있어 보안상 유리
주의 사항
- 가상의 테이블이기 때문에 ALTER 구문 사용 불가
- VIEW를 이용한 DML이 가능한 경우도 있지만 제약이 많이 따르기 때문에 조회 용도로 대부분 사용
작성법
CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW 뷰이름 [컬럼 별칭]
AS 서브쿼리(SELECT문)
[WITH CHECK OPTION]
[WITH READ ONLY];
OR REPLACE 옵션
기존에 동일한 이름의 VIEW가 존재하면 이를 변경 없으면 새로 생성
FORCE | NOFORCE 옵션
FORCE
서브쿼리에 사용된 테이블이 존재하지 않아도 뷰 생성
NOFORCE(기본값)
서브쿼리에 사용된 테이블이 존재해야만 뷰
컬럼 별칭 옵션
조회되는 VIEW의 컬럼명을 지정
WITH CHECK OPTION 옵션
옵션을 지정한 컬럼의 값을 수정 불가능하게 함
WITH READ ONLY 옵션
뷰에 대해 SELECT만 가능하도록 지정