개요
- View는 DBMS에서 사용되는 가상테이블이다.
- View는 select 문을 사용해서 생성된다.
Table과의 차이점
- table은 값이 테이블 속에 들어있어서 용량을 차지하는데 view는 table에서 select문을 사용해서 조회하므로 용량을 차지하지 않는다.
- 선언된 query만을 저장하기 때문에 용량을 차지하지 않는다.
- table이 삭제되면 view는 에러가 난다.
View 목록 확인
\\dv
-- view definition 확인 가능
select * from pg_views where schemaname not in ('pg_catalog', 'information_schema')
-- view 생성 시 사용된 table 리스트 확인 가능
select * from information_schema.view_table_usage where view_schema not in ('pg_catalog', 'information_schema')
View 생성
CREATE VIEW [VIEW_NAME] AS SELECT ~ ;
View 수정
- 뷰를 수정할 때는
CREATE OR REPLACE 문
을 사용한다.
CREATE OR REPLACE VIEW [VIEW_NAME] AS SELECT ~ ;
CREATE OR REPLACE문
은 제약사항이 많아서 삭제 후 새로 생성하는 경우가 간편할 때가 있다.