0

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

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 ;
4

5 回答 5

1

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

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

于 2009-11-18T00:37:42.567 回答
1

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

CREATE MATERIALIZED VIEW mv_jfhtesting USING ("mv_jfhtesting",("hi","by"))
REFRESH FORCE AS select "this","that" from dual

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

原因:尝试导入由未知导出版本导出的实体化视图(例如,从比导入站点更新的版本)

行动:使用导入站点已知的导出版本重新导出文件。

所以,我的猜测是这个子句从另一个 MV 导入数据。(甚至它本身,也许?)抱歉,我没有时间再玩这个了

于 2009-11-04T17:29:08.700 回答
1

奇怪的。您是否在数据库中有对象,如果有,DBMS_METADATA.GET_DDL 为您提供了什么。如果该格式的 SQL 不存在,我怀疑有人导出了模式并将 SQL 从 DUMP 文件中复制出来。

于 2009-11-04T22:07:35.373 回答
-1

他们是一个USING INDEX子句

于 2009-11-04T14:54:43.170 回答
-1

USING 是某种 JOIN。

使用“USING”进行连接

于 2009-11-04T09:54:50.753 回答