oracle--job以及物化视图

项目需要,用到了物化视图以及job,以前没接触过,就写两个简单例子记录一下。

job的作用是在一定的时间内进行一些操作,执行过程或者是刷新物化视图。

例子:

declare job number;
begin
sys.dbms_job.submit(job=>job,
                                what=>'InsertTable1;',
                                next_date => sysdate,
                                interval => 'sysdate+1/24*60');
commit;
end;

InsertTable1为过程名字,job需要声明,不然就会报错。job=>job,这里不能加冒号:,也会报错,但是如果在plsql里查看这个job的话,不会显示declare那一行,内容也变成了job=>:job,

如果这么创建的话就会报'并非所有变量都已绑定',有点坑;

物化视图的作用主要是可以在视图所查询的表进行更新的时候,刷新该物化视图,可以同步刷新,也可以定时刷新。

例子:

CREATE MATERIALIZED VIEW TABLE1_VIEW
REFRESH FORCE ON DEMAND
START WITH TO_DATE('25-03-2016 16:36:05', 'DD-MM-YYYY HH24:MI:SS')

NEXT SYSDATE+1/(24*60)
AS
SELECT "TABLE1"."A" "A","TABLE1"."B" "B","TABLE1"."C" "C" FROM "TABLE1" "TABLE1" WHERE "TABLE1"."C">'30';

当然下面的查询语句字段都有冒号,在写的时候不用加,ON DEMAND可以在我们需要的时候进行刷新,on commit是在表进行commit的时候就刷新视图,因此是实时的,on demand可以在一定时间内刷新,例子就是从25-03-2016 16:36:05开始,没隔1分钟进行刷新,1/(24*60) 表示1分钟,1/24表示1小时,1/(24*60*60)表示1秒,应该懂这个时间的算法了吧。

简单的记录了一下。

转载于:https://www.cnblogs.com/hanzhecheng/p/5320059.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值