J'ai démontré dans les étapes où une vue matérialisée s'actualise après chaque one minute
, pour avoir un mv qui s'actualise après 5 minutes, utilisez next(sysdate+5/1440)
Étape 1 :
Create table temp (A int);
Étape 2 :
Create Materialized view temp_mv
refresh complete start with (sysdate) next (sysdate+1/1440) with rowid
as select * from temp;
Étape 3 :
select count(*) from temp;
COUNT(*)
----------
0
Étape 4 :
select count(*) from temp_mv;
COUNT(*)
----------
0
Étape 5 :
begin
for i in 1..10 loop
insert into temp values (i+1);
end loop;
end;
/
Étape 6 :
commit;
Étape 7 :
select count(*) from temp;
COUNT(*)
----------
10
Étape 8 :
select count(*) from temp_mv;
COUNT(*)
----------
0
Étape 9 :
select to_char(sysdate,'hh:mi') from dual;
TO_CH
-----
04:28
Étape 10 :
select to_char(sysdate,'hh:mi') from dual;
TO_CH
-----
04:29
Étape 11 :
select count(*) from temp;
COUNT(*)
----------
10
Étape 12 :
select count(*) from temp_mv;
COUNT(*)
----------
10