◈ MView를 수동으로 Refresh 하기
DBMS_MVIEW 패키지를 이용해서 수동적으로 MView의 Data를 최근의 데이터로 변경할 수 있습니다.
DBMS_MVIEW 패키지의 REFRESH, REFRESH_ALL_MVIEWS, REFRESH_DEPENDENT를 call
하면 됩니다.
-- 아래와 같이 emp테이블에 임이의 데이터를 INSERT한 후 MView를 갱신해 보세요..
SQL>INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO )
VALUES ( 7935, ’KIM’, ’MANAGER’, 7839, TO_Date( ’12/17/1980
12:00:00 오전’, ’MM/DD/YYYY HH:MI:SS AM’), 3000, NULL, 20);
1 개의 행이 만들어졌습니다.
SQL> commit;
커밋이 완료되었습니다.
-- DEPT_SAL은 이전 MView생성 강좌에서 생성한 MView입니다.
-- DEPT_SAL MView는 ON DEMAND로 생성을 했기 때문에 데이타가 변경되지 않은 것을 확인
할 수 있습니다.
-- DEPT_SAL MView를 ON COMMIT로 생성했을 경우 위에 commit시점에서 dept_sal이 변경이 됩니다.
SQL> SELECT * FROM DEPT_SAL;
--수동으로 dept_sal 하나의 MView만 갱신 한 후 다시 조회하면 변경된 것을 확인 할 수 있습니다.
SQL>BEGIN
DBMS_MVIEW.REFRESH(’DEPT_SAL’);
END;
/
PL/SQL 처리가 정상적으로 완료되었습니다.
-- BASE 테이블에 EMP테이블이 들어간 모든 MView를 갱신
BEGIN
DBMS_MVIEW.REFRESH_DEPENDENT(’EMP’);
END;
-- 모든 MView를 모두 갱신
BEGIN
DBMS_MVIEW.REFRESH_ALL_MVIEWS;
END;
<<참고문헌>>
- Oracle Technical Note Materialized View 글 / 박경희
- Oracle Technical Bulletins No.12181 MATERIALIZED VIEW 활용방법
- Oracle 8i Tuning 정식 교재
|