在具有很多列,索引和约束的表上创建物化视图时,我遇到了一个奇怪的问题 .
我试过运行命令:
创建物化视图mvX并行构 Build 即刷新快速作为SELECT * FROM table_name
在运行命令后,我得到:“无法从复杂查询创建快速刷新物化视图”所以我运行命令:dbms_mview.explain_mview('SELECT * FROM table_name')并检查了REFRESH_FAST_AFTER_INSERT处的mv_capabilities_table,有消息:“此类型MV不支持FROM列表中的内联视图或子查询
-
我在表上用主键和rowid创建了一个matiralized视图日志 .
-
我试图在复制表上创建相同的matiralized视图(CREATE TABLE copy_table_name as select * from table_name)并且它成功完成(在此表上也创建了一个日志)
此视图必须快速刷新 . 我无法解释为什么在复制表上它成功并且在原始表上它失败了 . 救命?
1 回答
表中的一列是否可能是计算/虚拟列?如果有,那么我会调查它在这种情况下可能不起作用的可能性 . 这是我能想到为什么MV功能会在你的情况下给出这样的错误的唯一原因 .