【发布时间】:2017-10-31 10:02:01
【问题描述】:
我正在尝试为 Oracle 数据库创建物化视图,但出现此错误:
我尝试使用“alter session set QUERY_REWRITE_ENABLED = TRUE;”来更改会话和系统,但没有任何效果。
知道可能出了什么问题吗?
我的代码是:
create materialized view First
refresh complete on commit
enable query rewrite
as
select id,user_id
from answers;
【问题讨论】:
-
您使用的是哪个版本的 Oracle?不是版本,而是版本,如“标准”、“企业”等。看看
select * from v$version怎么说。您的版本可能不支持查询重写。 -
我使用的是 Express 版
-
那么这就是你的答案。在docs.oracle.com/database/121/DBLIC/editions.htm#DBLIC109 上搜索搜索词“rewrite”。您会发现查询重写仅在企业版中可用。顺便说一句,如果您只是学习,您可以免费安装和使用企业版。但是,对于商业用途,情况并非如此。
-
是的,只是为了学习。谢谢!
-
附加好处:如果您正在学习(并且真的想在 Oracle 中做得很好),您将从开始学习 Oracle 12 中的所有新事物中受益:多租户设置、MATCH_RECOGNIZE 子句、 CROSS APPLY 等 - 都在企业版中,这将允许您使用比 Express 版更多的功能。 (根据经验 - 我经历了与您相同的步骤,并且我对查询重写有同样的问题;有人给了我正是我现在在这里分享的信息。)
标签: oracle ddl materialized-views