大家看看这个简单的sql语句 快速刷新物化视图如何建立???
时间:2010-08-20
来源:互联网
select distinct a,b from tab1;
在给定语句上建立快速刷新的物化视图 折腾好久
转换select a ,b,count(*) from tab1 group by a,b;报错说ORA-32401: "**.** 上的实体化视图日志没有新值
作者: tianshezi 发布时间: 2010-08-20
提示信息也很明确啊,说实体化视图日志上没有新的数据需要刷新的
作者: duolanshizhe 发布时间: 2010-08-20
首先感谢你如此快回复
步骤
create materialized log on tab1 with rowid;
ok!
create materialized mv_tab1 refresh fast on commit with rowid as select a,b,count(*) from tab1 group by a,b;
报错ora-32401
创建view时候就报错了
作者: tianshezi 发布时间: 2010-08-20
SQL> create materialized view log on tab1 with primary key;
Materialized view log created.
SQL> create materialized view mv_tab1 refresh fast on commit with primary key as select a,b,count(*) from tab1 group by a,b;
*
ERROR at line 1:
ORA-12032: cannot use rowid column from materialized view log on
"SH"."PRODUCTS"
作者: tianshezi 发布时间: 2010-08-20
1、你的两个步骤中都少了view关键字:
2、报ora-32401的原因是,在快速刷新模式下不能使用聚合函数:
你可以试试这个:
create materialized mv_tab1 refresh fast on commit with rowid as select a,b from tab1;
作者: duolanshizhe 发布时间: 2010-08-20
2 with rowid,
3 sequence(a,b)
4 including new values;
Materialized view log created.
SQL> create materialized view mv_prod refresh fast on commit with rowid
2 as select a,b,count(*) from tab1 group by a,b;
Materialized view created.
多谢楼上的热情相助 问题解决了 测试成功可以在commit提交后物化视图刷新
作者: tianshezi 发布时间: 2010-08-20
1、你的两个步骤中都少了view关键字:
2、报ora-32401的原因是,在快速刷 ...
duolanshizhe 发表于 2010-08-20 10:19
1.哪儿少了view 关键字 没发现 ^_^
2.这样可以完成 但是和原来的sql语句表达意思不一致了.
作者: tianshezi 发布时间: 2010-08-20
作者: duolanshizhe 发布时间: 2010-08-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28