--创建物化视图的重要例子
create materialized view tb_v_empoid ---物化视图名称
TABLESPACE hr_DATA --保存表空间
BUILD DEFERRED --延迟刷新不立即刷新 创建物化视图时不生成数据
--BUILD IMMEDIATE 创建物化视图时就生成数据
refresh force -- fast: 增量刷新 根据上一次的更新时间,刷新物化视图时,只刷新上次时间到当前时间之类发生变化的数据
--全部刷新。相当于重新执行一次创建视图的查询语句
--如果可以快速刷新则进行快速刷新,否则完全刷新
on demand --在用户需要刷新的时候刷新,这里就要求用户自己动手去刷新数据了(也可以使用job定时刷新)
--当主表中有数据提交的时候,立即刷新物化视图中的数据;
start with to_date('24-11-2005 18:00:10', 'dd-mm-yyyy hh24:mi:ss') --从指定的时间开始,每隔一段时间(由next指定)就刷新一次
next TRUNC(SYSDATE+1)+18/24 --刷新时间间隔
as
SELECT c_oid,c_employeeid,c_name,c_gender,c_orgname,c_unitname,c_jobname
from tb_inf_employee
where c_orgid >0 and c_unitid > 0
---创建物化视图的完成语法
CREATE MATERIALIZED VIEW <schema.name>
PCTFREE <integer>
PCTUSED <integer>
TABLESPACE <tablespace_name>
BUILD IMMEDIATE
REFRESH <FAST | FORCE> ON <COMMIT | DEMAND>
<USING INDEX | USING NO INDEX>
INITRANS <integer>
STORAGE CLAUSE
AS (<SQL statement>);
CREATE MATERIALIZED VIEW [schema.]mview
Mview_Options
[USING INDEX storage_options]
[{REFRESH [refresh_options] |NEVER REFRESH]
[FORUPDATE] [{ENABLE|DISABLE} QUERY REWRITE]
AS subbquery;
CREATE MATERIALIZED VIEW [schema.]mview
ON PREBUILT TABLE [{WITH |WITHOUT} REDUCED PRECISION]
[USING INDEX storage_options]
[{REFRESH [refresh_options]| NEVER REFRESH]
[FORUPDATE] [{ENABLE|DISABLE} QUERY REWRITE]
AS subbquery;