min's devlog
뷰(view) 본문
뷰(view)
- 다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할
- 데이터베이스에 존재하는 가상 테이블
- 실제 테이블처럼 사용하고 행과 열을 가지고 있지만, 실제로 데이터를 저장하고 있지는 않다.
- 여러 테이블이나 뷰를 하나의 테이블처럼 볼 수 있다.
- SQL을 저장한 객체만 뷰로 정의할 수 있다.
CREATE VIEW 뷰이름
AS
SELECT 문;
CREATE OR REPLACE VIEW 뷰이름
AS
SELECT 문;
뷰의 사용 목적은 쿼리의 사용을 줄이는 것이기에 아래와 같이 사용한다. (vwInsa로 뷰를 생성함)
select * from tblInsa where buseo = '영업부' vs select * from vwInsa
- create view 문은 select문에서 선택된 필드를 가지는 새로운 뷰를 생성한다.
- 뷰는 원본 테이블과 같은 이름을 가질 수 없다.
예
비디오 가게 사장의 하루 업무?
create or replace view 대여체크
as
select
m.name as mname,
v.name as vname,
to_char(r.rentdate, 'yyyy-mm-dd') as rentdate,
case
when r.retdate is not null then '완료'
else '미완료'
end as state
from tblRent r
inner join tblVideo v
on v.seq = r.video
inner join tblMember m
on m.seq = r.member;
뷰 사용
1. SELECT > 실행O > 뷰는 읽기 전용으로 사용한다.(****) == 읽기 전용 테이블
2. INSERT > 실행O > 절대 사용 금지 > 직접 테이블 처리
3. UPDATE > 실행O > 절대 사용 금지 > 직접 테이블 처리
4. DELETE > 실행O > 절대 사용 금지 > 직접 테이블 처리
'til > Oracle' 카테고리의 다른 글
PL/SQL (0) | 2022.05.09 |
---|---|
DDL과 DML (0) | 2022.05.04 |
[Movie] ERD 설계 (0) | 2022.05.03 |
[Movie] ERD 연습 (0) | 2022.05.01 |
트랜잭션(Transaction) (0) | 2022.05.01 |
Comments