久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

瀏覽:168日期: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 數據庫
主站蜘蛛池模板: 马鞍山市| 孙吴县| 丰县| 绥芬河市| 阿瓦提县| 泰顺县| 安塞县| 二手房| 闻喜县| 汉沽区| 伊春市| 高阳县| 遵化市| 大足县| 永平县| 济南市| 交口县| 那坡县| 磐石市| 遂溪县| 石嘴山市| 松溪县| 重庆市| 富锦市| 漳平市| 洪江市| 武威市| 呼和浩特市| 通辽市| 邢台县| 孙吴县| 天津市| 锡林浩特市| 恩施市| 隆回县| 讷河市| 彰化县| 湘潭县| 密山市| 凤冈县| 吉安市|