注册 登录
编程论坛 Oracle论坛

求助!ORACLE创建物化视图的问题

leonardo38 发布于 2011-06-13 15:54, 1391 次点击
create materialized view log on kct98 ----kct98 为表名
----注:(TEST为表名或者视图名,关于视图上建立物化视图,见基于视图的物化视图
----创建物化视图语句:
Create materialized view MV_TEST
----MVTEST 为物化视图名
Build immediate
----创建时生成数据对应的是 build deferred
Refresh fast
----增量刷新
On commit
----在基表有更新时提交,这里该句对视图无效
With rowid
----这里创建基于rowid的物化视图,对应的是 primary key
As
Select * from kct98;
----生成物化视图数据语句


上面的这段是我创建物化视图的SQL,是使用的PLSQL工具连接的ORACLE数据库执行的,执行后报错,说是:create materialized view log选项无效
请问哪位高手能指点下,如何针对数据库里面的KCT98这个表建立物化视图啊,目前的KCT98没有建立主键,但这个表里有个XSVINM的字段是唯一字段,就像身份证号码一样,是不允许重复的
3 回复
#2
leonardo382011-06-14 11:18
另外,对SQL进行更新以后的的语句如下:
CREATE MATERIALIZED VIEW LOG ON kct98
tablespace dms --日志保存在特定的表空间
WITH ROWID ;

create materialized view test
TABLESPACE dms --保存表空间
BUILD DEFERRED --延迟刷新不立即刷新
refresh force --如果可以快速刷新则进行快速刷新,否则完全刷新
on commit --按照指定方式刷新
as
select * from kct98

但这个建立的物化视图查询后为何没有数据,原来的表kct98是有数据的,查询建立的物化视图test却无数据,这是为什么?麻烦哪位高手指点下
#3
路過2011-06-17 08:31
去掉這句 BUILD DEFERRED --延迟刷新不立即刷新 。
一般這樣就可以了:
create materialized view test_b as
  select *
    from KCT98
#4
路過2011-06-17 08:46
我在網上找的 http://xznsoft.  希望對你有幫助
1