网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle数据库高性能秘密之数据高.
.Oracle10g中新的SQLoptimizerhin.
.更改Oracle数据库表的表空间(1).
.ORACLE之常用FAQ V1.0 (4).
.配置UltraEdit为Oracle PL/SQL代.
.在RHEL上安装Oracle 10g AS 3 St.
.ERP performance tuning 第六天.
.Oracle PL/SQL入门之慨述.
.Oracle和SQL Server 追求完美还是.
.用智能优化限制来提高Oracle性能.
.安装问题.
.Linux环境下 用XMMS听MP3.
.standby利用并行恢复提高归档恢复.
.ORACLE中LOB字段的使用和维护.
.Oracle Enterprise Manager常见问.
.Oracle数据库网络与安全常见问题.
.查询条件句使用in比较好还是exis.
.ArcSDE Oracle的存储配置实战演练.
.通过Oracle平台依赖性进行系统优.
.如何恢复只有完好数据文件的orac.

Materialize view 更新资料的程序

发表日期:2008-2-9


  从AskTom的文章里看到一段关於mv (materialize view)的操作过程,随手就把他纪录了下来,提供参考。 ops$tkyte@ORA817DEV.US.Oracle.COM> create table t ( x int primary key, y int); Table created. ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> create materialized view t_mv
2 refresh on commit
3 as
4 select y, count(*) cnt from t
5 group by y; Materialized view created. ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> create or replace trigger t_mv_trigger
2 after insert or update or delete
3 on t_mv
4 begin
5 if ( inserting )
6 then
7 dbms_output.put_line( 'Hey, I fired!! for insert' );
8 end if;
9 if ( deleting )
10 then
11 dbms_output.put_line( 'Hey, I fired!! for deleting' );
12 end if;
13 if ( updating )
14 then
15 dbms_output.put_line( 'Hey, I fired!! for updating' );
16 end if;
17 end;
18 / Trigger created. ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> insert into t values ( 1, 1 ); 1 row created. ops$tkyte@ORA817DEV.US.ORACLE.COM> exec null; PL/SQL procedure sUCcessfully completed. ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> commit; Commit complete. ops$tkyte@ORA817DEV.US.ORACLE.COM> exec null;
Hey, I fired!! for deleting
Hey, I fired!! for insert PL/SQL procedure successfully completed.   上面的lab给了我几个新的学习   第一:mv每当更新资料的程序并非update mv,而是先delete再insert新资料,我想的是那当这个mv是非常庞大的时候,即时的refresh不就非常吃resource?   第二:exec null可以直接取出 DBMS_OUTPUT buffer的资讯。
上一篇:Oracle-借用使用者的帐号 人气:601
下一篇:各种索引的结构分析 BTree索引与反向索引 人气:1165
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐