2022년 3월 7일 월요일

오라클 기본 5 - 뷰편

 - 뷰(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;


 

댓글 없음:

댓글 쓰기