物化视图的使用

手工刷新物化视图
exec dbms_mview.refresh('T_DAR_ARSTATE');


DROP MATERIALIZED VIEW t_dept_view;
DROP MATERIALIZED VIEW t_dept_city_view;
/*城市客户*/
CREATE MATERIALIZED VIEW t_dept_city_view --创建物化视图
 
BUILD IMMEDIATE --在视图编写好后创建
 
AS
 
select *
  from (select TO_dATE(to_char(A.GENERATE_TIME, 'yyyy-MM'), 'YYYY-MM') as v_DATE,
               count(1) v_count,
               B.City_Code
          FROM T_BSE_CUSTOMER A
         RIGHT JOIN T_MGR_DEPT B ON B.UNIFIED_CODE = A.ORG_CODE
         WHERE A.ACTIVE = 'Y'
         group by TO_dATE(to_char(A.GENERATE_TIME, 'yyyy-MM'), 'YYYY-MM'),
                  B.City_Code) t
 ORDER BY v_DATE;
 
 
 
 /*区县客户*/
 CREATE MATERIALIZED VIEW t_dept_view --创建物化视图
BUILD IMMEDIATE --在视图编写好后创建
 
AS
 
select *
  from (select TO_dATE(to_char(A.GENERATE_TIME, 'yyyy-MM'), 'YYYY-MM') as v_DATE,
               count(1) v_count,
               B.County_Code
          FROM T_BSE_CUSTOMER A
         RIGHT JOIN T_MGR_DEPT B ON B.UNIFIED_CODE = A.ORG_CODE
         WHERE A.ACTIVE = 'Y'
         group by TO_dATE(to_char(A.GENERATE_TIME, 'yyyy-MM'), 'YYYY-MM'),
                  B.County_Code) t
 ORDER BY v_DATE;
/*定时器*/
begin
  dbms_scheduler.create_job(job_name => 'refresh_dept_view',
                            job_type => 'plsql_block',
                            job_action => q'`
begin
  dbms_mview.refresh(list => 'T_DEPT_VIEW');
  dbms_mview.refresh(list => 't_dept_city_view');
end;
`',
                            start_date => localtimestamp,
                            repeat_interval => 'freq=daily;bymonthday=1;byhour=0;byminute=05;bysecond=0',
                            enabled => true);
end;
/**查询、删除/
 select owner, job_name, state from dba_scheduler_jobs;
 
  begin
 dbms_scheduler.drop_job(job_name => 'refresh_dept_view',force => TRUE);
 end;
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值