DATABASE(oracleDB 11g)/SQL

[SQL]VIEW 의 기초

SEUNGSAMI 2019. 2. 1. 15:56

VIEW의 기초



(view)는  하나 이상의 테이블 (또는 다른 뷰)에서 원하는 모든 데이터를 선택하여, 그들을 사용자 정의하여 나타낸 것이다.



뷰 생성

1
2
3
4
5
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY [CONSTRAINT constraint]];
cs

의 형식으로 만든다


구문명

설명

OR REPLACE

뷰가 이미 있으면, 다시생성

FORCE

기본테이블의 존재 여부 관계없이 생성

NOFORCE

기본테이블이 있는경우만 뷰생성(기본값) 

VIEW

뷰의 이름

alias

뷰의 query에서 선택한 표현식의 이름 지정

subquery

SELECT 문

WITH CHECK OPTION

뷰에서 엑세스할 수 있는 행만 삽입 또는 갱신할 수 있도록 지정

constraint

check option 제약조건에 할당되는 이름 

WITH READ ONLY

현재 뷰에서 DML 작업 수행 못함




뷰 사용

뷰는 데이터 수정이 가능하나, 그것이 실제 테이블에 적용되지는 않는다

뷰를 확인하는 것은 일반적인 select문과 똑같지만, 실질적으로 뷰를 table취급하지는 않는다.



1
select * from user_view;
cs

를 통해 뷰 목록을 가져올 수 있다.


뷰 삭제

drop view {view name};

의 형식으로 삭제한다.


1
drop view emp;
cs

를 이용해 뷰를 삭제할 수 있다.


주의할 사항으로는 뷰를 잘못만들면 성능이 저하 될 수가 있으니 조심하자.



SQL을 배운지 얼마 되지 않아 잘못된 내용이 있을 수 있습니다. 틀린 내용이있다면, 댓글로 달아주세요.