根据oracle文档,不能使用快速刷新方法刷新聚合物化视图。我在Oracle中找到了这个例子:6002.htm
CREATE MATERIALIZED VIEW LOG ON times
WITH ROWID, SEQUENCE (time_id, calendar_year)
INCLUDING NEW VALUES;
CREATE MATERIALIZED VIEW LOG ON products
WITH ROWID, SEQUENCE (prod_id)
INCLUDING NEW VALUES;
CREATE MATERIALIZED VIEW sales_mv
BUILD IMMEDIATE
REFRESH FAST ON COMMIT
AS
SELECT t.calendar_year, p.prod_id,
SUM(s.amount_sold) AS sum_sales
FROM times t, products p, sales s
WHERE t.time_id = s.time_id AND p.prod_id = s.prod_id
GROUP BY t.calendar_year, p.prod_id;每次尝试使用聚合和快速刷新时,我都会出错。
在使用快速刷新和聚合功能时,有什么特别的提示吗?
亲切的问候
发布于 2014-10-21 10:39:46
根据我的调查,为了创建具有聚合功能和快速刷新方法的MV,您的MV和MV日志应该具有特殊的结构,以便查看在脚本下面运行的MV和MV日志的正确结构:
begin
dbms_advisor.tune_mview(task_name=>:t,
mv_create_stmt=>'create materialized view mv1 refresh fast
as select job,sum(sal) from emp group by job');
end;然后执行下面的查询,查看MV和MV日志所需的结构:
select dbms_lob.substr( statement, 4000, 1 ), statement from user_tune_mview
where task_name='TASK_2042' order by action_id;https://stackoverflow.com/questions/25720486
复制相似问题