任何人都可以告诉我物化视图的刷新频率如何设置为plz?oracle物化视图刷新时间
REFRESH FORCE与SYSDATE + 0 NEXT请求启动(圆(SYSDATE)+ 1/24)+ 1
我觉得我读它每隔一小时,但我不知道
任何人都可以告诉我物化视图的刷新频率如何设置为plz?oracle物化视图刷新时间
REFRESH FORCE与SYSDATE + 0 NEXT请求启动(圆(SYSDATE)+ 1/24)+ 1
我觉得我读它每隔一小时,但我不知道
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
我不是100%肯定它是在物化视图调度声明合法的,但你可能想尝试的(可以说)更直观的间隔时间规定:
round(sysdate) + interval '1 1' day to hour
其他例子在这里:http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements003.htm#SQLRF00221
要回答你的第一个问题(将本次运行一个小时一次):
不,这将运行一次,当你创造它,因为这个条款:
START WITH sysdate+0
就个人而言,我觉得“+0”是无关的,就像现在一样。
然后,它会在凌晨1点,明天跑,因为以下条款:
NEXT (round(sysdate) + 1/24) + 1
的“1/24”部分计算时,凌晨1点多,由于甲骨文日期为数字实际存储,用小数部分表示小时,分钟等。语法很好。
我想用
NEXT (trunc(sysdate) + 1/24) + 1
更准确
+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