2008-12-19 120 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 

更準確