dbms_mview系列(五)_补

--修正method参数值为c,原为f;这下可以正常刷新了
SQL> declare                                                                                                                                                                                                                                                
  2  out_err number;                                                                                                                
  3  begin                                                                                                                          
  4  dbms_mview.refresh_all_mviews(number_of_failures => out_err,method => 'c',refresh_after_errors => true,atomic_refresh => false);
  5  dbms_output.put_line(out_err);                                                                                                 
  6  end;                                                                                                                           
  7  /                                                                                                                              
                                                                                                                                    
0                                                                                                                                   
                                                                                                                                    
PL/SQL procedure successfully completed                                                                                             
                                                                                                                                    
SQL>  select * from mv_t;                                                                                                           
                                                                                                                                    
                                      A                                                                                             
---------------------------------------                                                                                             
                                      1  
                                     
适用于刷新与master table相关的物化视图                                     
REFRESH_DEPENDENT Procedures    

Syntax                                                                                                                                                                               
 DBMS_MVIEW.REFRESH_DEPENDENT (                          
   number_of_failures     OUT    BINARY_INTEGER,         
   { list                 IN     VARCHAR2,     --仅此参数与上述不同,为master table,而非mv          
   | tab                  IN     DBMS_UTILITY.UNCL_ARRAY,}
   method                 IN     VARCHAR2    := NULL,    
   rollback_seg           IN     VARCHAR2    := NULL,    
   refresh_after_errors   IN     BOOLEAN     := false,   
   atomic_refresh         IN     BOOLEAN     := true,    
   nested                 IN     BOOLEAN     := false);   

--插入数据到master table  
SQL> insert into t_mv select level from dual connect by level<=5;
                                                                
5 rows inserted                                                 
                                                                
SQL> commit;                                                    
                                                                
Commit complete   

SQL> select * from mv_t;                                                                                                                                                                      
                                                                                                                                                
                                      A                                                                                                         
---------------------------------------                                                                                                         
                                                                                                                                                
SQL>                                                                                                                                            
SQL> declare                                                                                                                                    
  2  out_err number;                                                                                                                            
  3  begin                                                                                                                                      
  4  dbms_mview.refresh_dependent(number_of_failures => out_err,list=>'mv_t',method => 'f',refresh_after_errors => true,atomic_refresh => false);
  5  dbms_output.put_line(out_err);                                                                                                             
  6  end;                                                                                                                                       
  7  /                                                                                                                                          
                                                                                                                                                
0                                                                                                                                               
                                                                                                                                                
PL/SQL procedure successfully completed                                                                                                         

--运行过程物化视图依旧无值                                                                                                                                                
SQL> select * from mv_t;                                                                                                                        
                                                                                                                                                
                                      A                                                                                                         
---------------------------------------                                                                                                         
                                          
--list参数值为master table,而非mv,mv有值了                                          
SQL> declare                                                                                                                                                                                                                                                                                     
  2  out_err number;                                                                                                                            
  3  begin                                                                                                                                      
  4  dbms_mview.refresh_dependent(number_of_failures => out_err,list=>'t_mv',method => 'c',refresh_after_errors => true,atomic_refresh => false);
  5  dbms_output.put_line(out_err);                                                                                                             
  6  end;                                                                                                                                       
  7  /                                                                                                                                          
                                                                                                                                                
0                                                                                                                                               
                                                                                                                                                
PL/SQL procedure successfully completed                                                                                                         
                                                                                                                                                
SQL> select * from mv_t;                                                                                                                        
                                                                                                                                                
                                      A                                                                                                         
---------------------------------------                                                                                                         
                                      1                                                                                                         
                                      2                                                                                                         
                                      3                                                                                                         
                                      4                                                                                                         
                                      5       

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-755173/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9240380/viewspace-755173/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值