Oracle的物化视图

时间:2009-11-04 08:33:14

标签: sql oracle oracle10g materialized-views

我在脚本中有以下行,我不明白“using”部分用于什么 我在谷歌上找不到任何东西。有人熟悉吗?
非常感谢!!

CREATE MATERIALIZED VIEW "PVTRNDM"."DM_MVW_DAILY_CAL" 
 USING ("DM_MVW_DAILY_CAL", 
        (8, 'PLANVP.XXXX.INT', 1, 0, 0, "PVTRN", "DAILY_CAL", '2009-10-15 16:12:25', 8, 45073, '2009-10-15 16:12:25', '', 1, '0E', 6548400, 0, NULL), 
        2101313, 8, ('1950-01-01 12:00:00', 111, 0, 0, 6548400, 0, 2054, 2, NULL, NULL)) 
 REFRESH FORCE AS 
 select day_date, cal , sum(NVL(daily_du, 0)) AS daily_du FROM PVPROD.daily_cal GROUP BY day_date, cal ;

5 个答案:

答案 0 :(得分:1)

奇。您是否在数据库中拥有该对象,如果是,那么DBMS_METADATA.GET_DDL为您提供了什么。 如果没有那种格式的SQL,我怀疑有人已经完成了模式的导出并将SQL复制出DUMP文件。

答案 1 :(得分:0)

他们是USING INDEX条款

答案 2 :(得分:0)

嗯,这很有意思。我拿了代码并将其插入toad并进行了一些更改:

  

创建物质化视图mv_jfhtesting   使用(“mv_jfhtesting”,(“hi”,“by”))
  REFRESH FORCE选择“this”,“that”   来自双重

导致:ORA-12037 - 未知的导出格式 当我查看它时:

  

原因:尝试导入a   由...导出的物化视图   未知的出口版本(例如来自a   新版本比导入网站更新)

     

操作:使用a重新导出文件   已知的出口版本   导入网站。

所以,我的猜测是这个子句从另一个MV导入数据。 (或者甚至是自己,也许?) 对不起,我没有时间玩这个更多

答案 3 :(得分:0)

我想我已经弄明白了(或者至少有一个建议)。 我从具有REFRESH ON DEMAND物化视图的用户导出,然后我尝试将其导入到具有CREATE TABLE但不具有CREATE MATERIALIZED VIEW权限的用户。

它创建了一个具有该名称的表,但在物化视图中出错了。 我的猜测是,在进行导出时,它会将MV中的数据作为表导出。 CREATE MATERIALIZED VIEW的这种奇怪的语法将该表转换为MV。我猜测日期与源数据库上最后刷新MV的时间有关(如果有可以应用于下次刷新的MV日志,这可能是相关的。)

答案 4 :(得分:-1)

USING是JOIN的一部分。

Use "USING" for Joins