2008-12-19 12 views
5

कोई भी मुझे यह बताने में सक्षम है कि निम्नलिखित सेटिंग के साथ रीफ्रेश करने के लिए कितनी बार भौतिक दृश्य सेट किया गया है? sysdate + 0 अगले के साथ मांग स्टार्ट (दौर (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 
1

मैं 100% यकीन है कि यह एक materialized दृश्य शेड्यूलिंग बयान में कानूनी है नहीं कर रहा हूँ, लेकिन आप (बेशक) अधिक सहज ज्ञान युक्त INTERVAL विनिर्देश कोशिश करने के लिए पसंद कर सकते हैं: यहाँ

round(sysdate) + interval '1 1' day to hour 

अन्य उदाहरण: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements003.htm#SQLRF00221

4

(होगा इस रन एक बार एक घंटे?) अपने पहले सवाल का जवाब करने के लिए:

नहीं, यह एक बार जब आप इसे इस खंड के कारण बनाने चलेंगे: निजी तौर पर

START WITH sysdate+0 

, मुझे लगता है "+0" अपरिपक्व है, जैसा कि अब है। , साथ

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

"1/24" भाग की गणना करता है 1 बजे है जब के बाद से Oracle दिनांकों वास्तव में संख्या के रूप में जमा हो जाती है,:

तो यह कल रात को 1 बजे निम्नलिखित खंड के कारण चलाया जाएगा, दशमलव भाग घंटे, मिनट, इत्यादि इंगित करता है सिंटैक्स बस ठीक है।

+0

+1 है लगता है। आगे स्पष्टीकरण के लिए, राउंड (sysdate) आपको एमएम/डीडी/वाई वाई @ 12:00:00 देता है। + 1/24 (एक घंटा) मूल्य एमएम/डीडी/वाई वाई @ 01:00:00 बनाता है। +1 (एक दिन) मूल्य एमएम/डीडी + 1/वाई वाई 01:00:00 बनाता है। – craig

0

मैं का उपयोग कर एक और अधिक-विस्तृत विवरण के लिए

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

अधिक सटीक

संबंधित मुद्दे