视图刷新过程中出现的约束冲突问题

2012-11-12

  本文中,我们通过实例的方法来帮助您理解物化视图刷新过程中出现的约束冲突问题。

  即使将物化视图的约束建立和基表完全一致,由于物化视图的刷新机制,也会产生约束冲突的现象。

  以下是一个简单的示例:

SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, NAME VARCHAR2(30));
--表已创建SQL> ALTER TABLE T ADD CONSTRAINT UN_T_NAME UNIQUE (NAME);--表已更改SQL> CREATE MATERIALIZED VIEW LOG ON T;--实体化视图日志已创建:SQL> CREATE MATERIALIZED VIEW MV_T REFRESH FAST AS SELECT * FROM T;--实体化视图已创建。SQL> ALTER TABLE MV_T ADD CONSTRAINT UN_MV_T_NAME UNIQUE (NAME);--表已更改:SQL> INSERT INTO T VALUES (1, 'A');--已创建 1 行:SQL> INSERT INTO T VALUES (2, 'B');--已创建 1 行:SQL> COMMIT;--提交完成:SQL> EXEC DBMS_MVIEW.REFRESH('MV_T')--PL/SQL 过程已成功完成。

  上面构造了一个简单的物化视图,物化视图和基表建立了相同的唯一约束。

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com