我们可以在 Oracle 中使用强制和可编辑选项从视图创建物化视图吗?

Can we create Materialized view from view with force and editionable options in oracle?

我是甲骨文新手。我正在使用 oracle 数据库 19c。我尝试从视图创建物化视图。但我收到“ORA-00942”错误。这是否意味着不能从可强制编辑的视图创建 mview,或者可以使用任何其他权限创建?提前致谢。

sql>conn kish/password
Connected.
sql>create table ds as select * from dba_source;

Table created.

sql>create or replace force editionable view "dsv" as select * from ds;

View created.

sql>create materialized view dsmv as select * from dsv;
create materialized view dsmv as select * from dsv
                                               *
ERROR at line 1:
ORA-00942: table or view does not exist

"dsv" 不同于 dsv。在 Oracle 中,从不 使用双引号(除非你有一个非常非常好的理由 - 而这不是一个)。

完全删除双引号。

SQL> create view dsv as select * from dept;

View created.

SQL> create materialized view dsmv as select * from dsv;

Materialized view created.

SQL> select * from dsmv;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

SQL>