CREATE VIEW <뷰 이름>
AS
<쿼리 식>
DROP VIEW <뷰 이름>
갱신에 대한 설명에 앞서 예시를 보자!
예를 들자면
의류브랜드 테이블과 백화점의 재고 품목 테이블이 있다고 생각해보자.
이 둘을 합쳐서 의류브랜드에 관란 재고품목 테이블 '뷰'를 만들었다.
만약 해당 뷰에서 어떤 특정 재고품을 지운다고 했을때 뷰에서 그 재고품은 삭제 되지 않는다.
왜일까? 그 재고품은 해당 브랜드가 존재하는 한 뷰에서 지워질 수 없는 것이기 때문이다. 뷰는 사용자 관점에서 실제 데이터가 저장된 것 처럼 보이는 것뿐이지 그 데이터가 실제로 지워지는 것이 아니다. 따라서 해당 데이터를 지우려면
의류브랜드 테이블에서 재고품의 브랜드 항목을 지우고 재고품목 테이블에서도 해당 재고품목을 지워야 뷰에서 사라지게 될 것이다.
그런데 이렇게 둘다 지워버리면 해당 브랜드 아이템 자체가 완전히 사라져버리기 때문에 한개의 재고품만 삭제하다가 브랜드 품목 전체가 삭제될 수 있는 것이다.
그래서 SQL 92 표준에서는 하나의 기반 테이블에 대해 셀렉션 및 프로젝션만으로 정의되고 집단 연산은 사용하지 않는 뷰에 대해서만 갱신을 허용한다. 이런 뷰들을 갱신 가능 뷰(Updatable View)라고 한다.