【发布时间】:2012-10-20 19:01:42
【问题描述】:
我在 Oracle 中查询视图时遇到问题。
这里是视图(my_cool_view)定义:
SELECT *
FROM mview1 JOIN
mview2 USING(col_id)
其中 mview1 和 mview2 是物化视图。我无法访问此物化视图的定义。我试过这个查询:
select r.title from my_cool_view r;
并得到 ORA-00918: column ambiguously defined 错误。 my_cool_view 中的列子集出现此错误。
如果我运行这个查询:
select * from my_cool_view;
一切正常。
您在询问 cmets 中的 desc my_cool_view,抱歉我无法提供架构信息,因为它是机密的。我唯一可以说它包含大约 80 列,并且只有一个 (col_id) 不会导致上述错误。
您对这是什么情况以及如何解决它有任何想法吗?
提前致谢。
抱歉误导了你,第一个版本的问题太糟糕了。
【问题讨论】:
-
您可能在视图中定义了两次列标题。你能添加它的描述吗? (SQL*Plus 中的“desc my_cool_view”)
-
我刚刚检查过 - 列定义一次。你的描述是什么意思?
-
你能用
desc my_cool_mview的输出更新你的问题吗? -
请贴出物化视图的ddl。
-
你能确认这是物化视图而不是普通视图吗?
标签: oracle view materialized-views