Sql 已成功创建物化视图,但刷新时给出查询太长错误

Sql 已成功创建物化视图,但刷新时给出查询太长错误,sql,plsql,oracle11g,materialized-views,Sql,Plsql,Oracle11g,Materialized Views,我创建了一个物化视图 CREATE MATERIALIZED VIEW apps.RPRO_BILLED_CONTRACTS_MV REFRESH COMPLETE START WITH SYSDATE NEXT (sysdate+1/1440) with rowid AS "query"; 它已成功创建,并在select*操作中返回行。 然而,我想检查它是否令人耳目一新,结果却不是。 我以以下方式运行手动刷新命令: BEGIN DBMS_SNAPSHOT.REFRESH('RPRO_BILL

我创建了一个物化视图

CREATE MATERIALIZED VIEW apps.RPRO_BILLED_CONTRACTS_MV
REFRESH COMPLETE
START WITH SYSDATE
NEXT (sysdate+1/1440) with rowid
AS "query";
它已成功创建,并在select*操作中返回行。 然而,我想检查它是否令人耳目一新,结果却不是。 我以以下方式运行手动刷新命令:

BEGIN
DBMS_SNAPSHOT.REFRESH('RPRO_BILLED_CONTRACTS_MV');
end;
现在返回错误: 错误报告

ORA-32411: materialized view definition query exceeds the maximum length
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2563
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2776
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2745
ORA-06512: at line 2

32411. 0000 -  "materialized view definition query exceeds the maximum length"
*Cause:    The materialized view definition query exceeds the 64K limit.
*Action:   Change the materialized view definition query so that it does not exceed
           the maximum length of 64K.

我很困惑,如果查询太长,为什么要创建视图并返回值,但不刷新。请提供帮助。

物化视图的
创建过程与
刷新过程不同

CREATE
期间,可以使用任意长度的SQL语句创建物化视图。在
刷新期间
,将强制执行下述64K限制:


一种可能的解决方法是链接物化视图创建。如果可以将查询分解为更小的块,则可以使用本身引用物化视图的子查询来构建最终的物化视图。

那么查询的总长度是否>64K?是的,它>64K,但是为什么要创建视图并获取行。根据SQL语句的长度没有限制;然而,我在11.1中找不到关于物化视图查询长度的相应文档限制。至于“为什么会有这样的限制”,也许你应该重新提出这个问题。祝你好运。