任何人都可以告訴我物化視圖的刷新頻率如何設置爲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