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을 배운지 얼마 되지 않아 잘못된 내용이 있을 수 있습니다. 틀린 내용이있다면, 댓글로 달아주세요.
'DATABASE(oracleDB 11g) > SQL' 카테고리의 다른 글
[SQL]서브쿼리(SUBQUERY)의 추가내용_01 (0) | 2019.02.08 |
---|---|
[SQL]계정 생성 및 삭제(oracle DB 11g) (0) | 2019.02.01 |
[SQL]제약 조건(Constraints) (1) | 2019.02.01 |
[SQL]TCL(트랜잭션 관리) 기초 (0) | 2019.02.01 |
[SQL]DML(Data Manupulation Language)의 기초 (0) | 2019.01.31 |