国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Oracle數據庫中fast刷新會受到哪些限制

瀏覽:148日期:2023-11-27 16:57:20
這篇論壇文章(賽迪網技術社區)主要根據一個實際案例具體分析了fast刷新所受到的限制,詳細內容請大家參考下文:

刷新物化視圖出現的問題:

CREATE MATERIALIZED VIEW LOG ON users;

CREATE MATERIALIZED VIEW users REFRESH FAST START WITH SYSDATE NEXT trunc(SYSDATE + 1) WITH PRIMARY KEY AS SELECT * FROM users@test.com;

SQL> exec dbms_mview.refresh('USERS','FAST');

begin dbms_mview.refresh('USERS','FAST'); end;

ORA-12008: error in materialized view refresh path

ORA-01008: not all variables bound

ORA-02063: preceding line from CNCYY

ORA-06512: at 'SYS.DBMS_SNAPSHOT', line 2254

ORA-06512: at 'SYS.DBMS_SNAPSHOT', line 2460

ORA-06512: at 'SYS.DBMS_SNAPSHOT', line 2429

ORA-06512: at line 1

但是以下部分并沒有問題:

SQL> EXEC DBMS_MVIEW.REFRESH('USERS', 'COMPLETE');

PL/SQL procedure successfully completed

經過仔細分析后發現,基表users里面有個字段的缺省值是sysdate的,所以不能fast刷新!

fast刷新的限制:

所有類型的快速刷新物化視圖都必須滿足的條件:

1.物化視圖不能包含對不重復表達式的引用,如SYSDATE和ROWNUM;

2.物化視圖不能包含對LONG和LONG RAW數據類型的引用。

只包含連接的物化視圖:

1.必須滿足所有快速刷新物化視圖都滿足的條件;

2.不能包括GROUP BY語句或聚集操作;

3.如果在WHERE語句中包含外連接,那么唯一約束必須存在于連接中內表的連接列上;

4.如果不包含外連接,那么WHERE語句沒有限制,如果包含外連接,那么WHERE語句中只能使用AND連接,并且只能使用“=”操作。

5.FROM語句列表中所有表的ROWID必須出現在SELECT語句的列表中。

6.FROM語句列表中的所有表必須建立基于ROWID類型的物化視圖日志。

標簽: Oracle 數據庫
主站蜘蛛池模板: 无锡市| 新密市| 历史| 屯昌县| 天柱县| 凯里市| 开封市| 宝应县| 邯郸市| 岳池县| 鸡泽县| 资源县| 昆山市| 射阳县| 西城区| 定边县| 宜昌市| 莲花县| 华坪县| 乐平市| 阳泉市| 祥云县| 西乡县| 固镇县| 伊川县| 辉县市| 绥江县| 阿拉尔市| 平潭县| 苍山县| 太仆寺旗| 华容县| 岑巩县| 罗城| 文山县| 新密市| 莱阳市| 九龙坡区| 蒙城县| 会同县| 台东市|