********************
**手动刷新物化视图**
********************
--创建物化视图手动刷新
create materialized view view_name as --查询语句
-- 手动刷新物化视图
begin DBMS_MVIEW.refresh('view_name','C'); end;
********************
**自动刷新物化视图**
********************
--创建物化视图需要的权限
grant create materialized view to user_name;
--创建日志表空间
CREATE TABLESPACE test_space DATAFILE 'D:\ORACLE\test_space01.dbf' SIZE 1G AUTOEXTEND ON NEXT 50M;
create materialized view log on test_table -- 日志表
tablespace test_space -- 日志空间
with primary key;
--自动刷新 物化视图
create materialized view view_name
refresh force
on demand
start with sysdate
--刷新时间间隔。每1天刷新一次,在每天晚上十一点半进行刷新
next to_date(concat(to_char(sysdate+1,'dd-mm-yyyy'),'23:30:00'),'dd-mm-yyyy hh24:mi:ss')
as --查询语句
--修改刷新时间
alter materialized view view_name refresh force on demand start with sysdate
next to_date(concat(to_char(sysdate+1,'dd-mm-yyyy'),' 23:00:00'),'dd-mm-yyyy hh24:mi:ss');
--建立索引
create index IDX_MMT_IU_TEST
on view_name(ID,UNAME)
tablespace test_space;
--删除物化视图及日志
drop materialized view log on view_table; --删除物化视图日志
drop materialized view view_name; --删除物化视图