首页 / ORACLE / Oracle实体化视图
Oracle实体化视图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle实体化视图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2328字,纯文字阅读大概需要4分钟。
内容图文
![Oracle实体化视图](/upload/InfoBanner/zyjiaocheng/504/e331beabc45d4848b65519c09854b958.jpg)
公司最近有个比较大的项目需要支援,左顾右盼生光辉,我就去了。被安排搞数据库接口这块,这就是坑的背景。
有天需要把数据插入Oracle中间库的一个表里,插入时一直提示:ora-01732:此视图的数据操纵操作非法。
通过PLSQL Developer看了半天,也没看出来有啥异常,路径也确认在Tables目录下;真是应验了一句话:无知害死人。
2、度娘带来的惊喜
物化视图也是种视图。Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。物化视图可以查询表,视图和其它的物化视图。
2.1 创建物化视图语句如下
CREATE MATERIALIZED VIEW VW_Table BUILD IMMEDIATE --创建时立即刷新 REFRESH FORCE --如果可以快速刷新则进行快速刷新,否则完全刷新 ON DEMAND --刷新方式 START WITH SYSDATE --第一次刷新时间 NEXT SYSDATE+1/(24) --刷新时间间隔 AS SELECT 1 id,‘A‘name FROM dual;
踩过的坑:创建视图时去掉注释;否则会有错误提示。
2.2 查询实例化视图的信息
select * from DBA_MVIEWS where MVIEW_NAME=‘VW_TABLE‘;
踩过的坑:MVIEW_NAME需区分大小写。
2.3 修改刷新的频率
ALTER MATERIALIZED VIEW VW_Table REFRESH FORCE ON DEMAND START WITH SYSDATE NEXT SYSDATE+1/144;
2.4 查询物化视图上次刷新时间
SELECT last_refresh_date FROM user_mviews WHERE mview_name = ‘VW_TABLE‘;
2.5 手动刷新物化视图
BEGIN dbms_mview.refresh(‘VW_TABLE‘); END;
2.6 删除物化视图
DROP MATERIALIZED VIEW VW_TABLE;
3、干巴巴的说明
3.1 创建时生成数据:
分为两种:build immediate 和 build deferred,
build immediate:是在创建物化视图的时候就生成数据。 build deferred:则在创建时不生成数据,以后根据需要在生成数据。 如果不指定,则默认为build immediate。3.2 刷新模式:
物化视图有二种刷新模式:
在创建时refresh mode是 on demand 还是 on commit。
on demand 顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;
on commit 提交触发,一旦基表有了commit,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。一般用这种方法在操作基表时速度会比较慢。
创建物化视图时未作指定,则Oracle按 on demand 模式来创建。
Oracle实体化视图
标签:sys begin hit 快照 菜鸟 大小 语句 def alt
本文系统来源:https://www.cnblogs.com/Zeros/p/10066808.html
内容总结
以上是互联网集市为您收集整理的Oracle实体化视图全部内容,希望文章能够帮你解决Oracle实体化视图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。