Oracle - 创建物化视图
Posted
技术标签:
【中文标题】Oracle - 创建物化视图【英文标题】:Oracle - creating a Materialized View 【发布时间】:2011-12-16 12:51:54 【问题描述】:我正在阅读一些文章,甚至是堆栈上的一些答案,但我仍然有一些问题。我将发布我的 MV 代码以供可能的分析:
CREATE MATERIALIZED VIEW some_materialized_view
REFRESH COMPLETE
START WITH sysdate
NEXT '2011-12-01' + 31
WIDTH PRIMARY KEY
AS my_query
错误是:
00984. 00000 - "column not allowed here"
我是不是忘记了什么?我唯一想要的是每个月开始我的MV更新。有人可以帮忙吗?
谢谢!
【问题讨论】:
“此代码对我不起作用” - 错误消息?描述一下您认为“不工作”是什么样子会很有帮助。 我得到的唯一错误是:00984.00000 -“此处不允许列” 【参考方案1】:您的命令中有两个语法错误。
子句WIDTH PRIMARY KEY
应该是WITH PRIMARY KEY
(WITH
有错字)
NEXT
子句使用需要 date
关键字的日期文字:
NEXT DATE '2011-12-01' + 31
.
所以完整的命令应该是:
CREATE MATERIALIZED VIEW some_materialized_view
REFRESH
COMPLETE
START WITH SYSDATE
NEXT DATE '2011-12-01' + 31
WITH PRIMARY KEY
AS <your query here>
【讨论】:
非常感谢,那是错误!但是我仍然想知道如何开始每个月更新.. 你可以使用 NEXT add_months(trunc(sysdate,'MM'),1) 谢谢老兄,正是我想要的!!【参考方案2】:您应该先咨询Oracle documentation,尤其是语法问题。您所要求的一切 + 更多都在那里。一旦您习惯了语言参考文档,它们就会非常有用,而且您可能会学到一些关于您正在研究的内容的新知识。
【讨论】:
以上是关于Oracle - 创建物化视图的主要内容,如果未能解决你的问题,请参考以下文章