2008-12-19 102 views
5

任何人都可以告诉我物化视图的刷新频率如何设置为plz?oracle物化视图刷新时间

REFRESH FORCE与SYSDATE + 0 NEXT请求启动(圆(SYSDATE)+ 1/24)+ 1

我觉得我读它每隔一小时,但我不知道

回答

7
SQL> alter session set nls_date_format = 'yyyy-mm-dd :hh24:mi:ss'; 

Session changed. 

SQL> select sysdate from dual; 

SYSDATE 
-------------------- 
2008-12-19 :12:18:28 

SQL> select (round(sysdate) + 1/24) + 1 from dual; 

(ROUND(SYSDATE)+1/24 
-------------------- 
2008-12-21 :01:00:00 
4

要回答你的第一个问题(将本次运行一个小时一次):

不,这将运行一次,当你创造它,因为这个条款:

START WITH sysdate+0 

就个人而言,我觉得“+0”是无关的,就像现在一样。

然后,它会在凌晨1点,明天跑,因为以下条款:

NEXT (round(sysdate) + 1/24) + 1 

的“1/24”部分计算时,凌晨1点多,由于甲骨文日期为数字实际存储,用小数部分表示小时,分钟等。语法很好。

+0

+1了更详细的解释。为了进一步说明,round(sysdate)给你MM/DD/YY @ 12:00:00。 + 1/24(一小时)的值为MM/DD/YY @ 01:00:00。 +1(一天)的值为MM/DD + 1/YY 01:00:00。 – craig 2011-05-19 19:43:28

0

我想用

NEXT (trunc(sysdate) + 1/24) + 1 

更准确