我们可以在 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>
我是甲骨文新手。我正在使用 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>