ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用 on prebuilt table 创建物化视图(zt)

使用 on prebuilt table 创建物化视图(zt)

原创 Linux操作系统 作者:tolywang 时间:2005-01-20 00:00:00 0 删除 编辑

Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production


创建物化视图
SQL> create materialized view emp as select * from scott.emp;

Materialized view created.

SQL> select object_name,object_type from user_objects where object_name='EMP';

OBJECT_NAME OBJECT_TYPE
------------------
EMP TABLE
EMP UNDEFINED

删除物化视图
SQL> drop materialized view emp;
Materialized view dropped.
以上2个对象都被删除了,包括UNDEFINED的EMP
SQL> select object_name,object_type from user_objects where object_name='EMP';
No row selected。
先手工创建表
SQL> create table emp as select * from scott.emp;
Table created.
使用on prebuilt table注册新的物化视图,注意view名称必须和表名称一样。
SQL> create materialized view emp on prebuilt table as select * from scott.emp;

Materialized view created.

SQL> select object_name,object_type from user_objects where object_name='EMP';

OBJECT_NAME OBJECT_TYPE
------------------
EMP TABLE
EMP UNDEFINED

表emp已经作为物化视图了。
SQL> delete from emp;
delete from emp
*
ERROR at line 1:
ORA-01732: data manipulation operation not legal on this view

删除物化视图后,原来的表未被删除。 使用on prebuilt table创建的物化视图被删除后,原来的表不被删除。
SQL> drop materialized view emp;
Materialized view dropped.

SQL> select object_name,object_type from user_objects where object_name='EMP';

OBJECT_NAME OBJECT_TYPE
------------------
EMP TABLE


因此使用 on prebuilt table 创建物化视图,更灵活,安全。
同样可以使用on prebuilt table 创建快照,这样减少了快照重新建立给数据增量同步带来的时间成本。

http://www.itpub.net/showthread.php?threadid=309939&pagenumber=   

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84247/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ORACLE锁的管理(zt)
请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13384484