- 뷰(view)란?
1. 보여주고 싶은 데이터만 보여줌으로 보안에 도움이 됨
2. 복잡한 쿼리를 단순화 시킬 수 있다.
CREATE OR REPLACE VIEW v_userbuyTBL --뷰 테이블 명
AS
SELECT U.userID, U.userName, B.prodName, U.addr, U.mobile1 || U.mobile2 AS "연락처"
FROM userTBL U
INNER JOIN buyTBL B
ON U.userID = B.userID ;
--위의 쿼리문을 아래와 같이 단순화 가능
SELECT * FROM v_userbuyTBL WHERE userName = '김범수';
3. 뷰 활용
DROP VIEW v_userbuyTBL; --뷰 삭제
UPDATE v_userTBL SET addr = '부산' WHERE userID='JKW'; --뷰 수정
INSERT INTO v_userTBL(userID, userName, addr) VALUES('KBM','김병만','충북'); --뷰 입력
4. 뷰 옵션
CREATE MATERIALIZED VIEW 뷰이름
--뷰 생성 후 동시에 데이터 채워짐 | 나중에 채워짐
BUILD { IMMEDIATE | DEFERRED }
--커밋 발생 때마다 내용 변경 | 직접 DBMS_MVIEW 패키지를 싱행하여 변경
REFRESH { ON COMMIT | ON DEMAND }
--원본 테이블에서 변경된 데이터만 뷰에 업데이트, 원본 데이터가 변경되면 전체를 업데이트, 원본이 변경되어도 업데이트 안함
{ FAST | FORCE | COMPLETE | NEVER }
AS
SELECT SUM(sales) FROM buyTBL;
댓글 없음:
댓글 쓰기