在oracle10g 下创建一个简单的物化视图(materialized view)的例子
--物化视图
--0.cmd 修改系统参数,在init.ora里面修改则每次都有效
alter system set job_queue_processes=20;
如果这个参数为0,物化视图是不会刷新的
--1.建表,必须有索引
create table stu
(
id
varchar2(10) primary key,//
name varchar2(20)
)
//不是主键就需要建索引CREATE INDEX INDEX_STU ON STU(ID)
--2.建日志
CREATE MATERIALIZED VIEW LOG ON STU;
--3.建视图
create MATERIALIZED VIEW STU_VIEW
REFRESH FAST
START WITH SYSDATE
NEXT SYSDATE + 1/1440
WITH PRIMARY KEY
AS
SELECT * FROM STU
--4.插入数据
INSERT INTO STU(ID,NAME) VALUES('56','555555555555');
COMMIT;
--5.查看视图数据变化
SELECT * FROM oemcyd.STU_VIEW;
--6.查询物化视图刷新时间
SELECT MM.mview_name,MM.last_refresh_date
FROM DBA_MVIEWS MM
--7、删除物化视图日志
DROP MATERIALIZED VIEW LOG ON TABLE
--8、删除物化视图
DROP MATERIALIZED VIEW MV_TABLE
--9、刷新物化视图
EXEC DBMS_MVIEW.REFRESH('MV_TABLE')