创建可物化的视图程序

CREATE  materialized  view mv_LoginUsertest1 
refresh fast start with sysdate next sysdate + 1/1440
for update

as select * from LoginUser@UserMdb;


CREATE OR REPLACE materialized  view mv_LoginUser 
refresh fast start with sysdate next sysdate + 1/1440
ENABLE QUERY REWRITE 
as select * from LoginUser@UserMdb;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现每天10点刷新Oracle物化视图,可以使用Oracle的定时任务调度器DBMS_SCHEDULER来完成。 下面是具体步骤: 1. 创建一个作业(job),该作业定义了要执行的刷新物化视图的SQL语句。 例如: ``` BEGIN DBMS_MVIEW.REFRESH('materialized_view_name', 'C', atomic_refresh=>FALSE); END; ``` 其中,'materialized_view_name'是要刷新的物化视图名称,'C'表示使用完全刷新方式,而atomic_refresh=>FALSE表示不使用原子刷新方式。 2. 创建一个调度程序(schedule),该调度程序定义了作业执行的时间和频率。 例如: ``` BEGIN DBMS_SCHEDULER.CREATE_SCHEDULE( schedule_name => 'refresh_schedule', start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=DAILY;BYHOUR=10;BYMINUTE=0;BYSECOND=0'); END; ``` 其中,'refresh_schedule'是调度程序名称,start_date指定了调度程序开始执行的时间,repeat_interval指定了调度程序执行的频率和时间。 3. 创建一个触发器(trigger),该触发器将调度程序与作业关联起来。 例如: ``` BEGIN DBMS_SCHEDULER.CREATE_JOB( job_name => 'refresh_job', job_type => 'PLSQL_BLOCK', job_action => 'BEGIN DBMS_MVIEW.REFRESH(''materialized_view_name'', ''C'', atomic_refresh=>FALSE); END;', start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=DAILY;BYHOUR=10;BYMINUTE=0;BYSECOND=0', enabled => TRUE, auto_drop => FALSE); DBMS_SCHEDULER.SET_ATTRIBUTE('refresh_job', 'schedule_name', 'refresh_schedule'); END; ``` 其中,'refresh_job'是作业名称,job_type指定了作业类型为PLSQL_BLOCK,job_action指定了作业要执行的SQL语句,start_date指定了作业开始执行的时间,repeat_interval指定了作业执行的频率和时间,enabled=>TRUE表示作业启用,auto_drop=>FALSE表示不自动删除作业。 4. 执行触发器(trigger),使其开始执行作业。 例如: ``` BEGIN DBMS_SCHEDULER.RUN_JOB('refresh_job'); END; ``` 以上就是在Oracle中实现每天10点刷新物化视图的具体步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值