Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle प्रश्नों को समय-समय पर चलाने का सर्वोत्तम तरीका

  • कार्य चलाने (और प्रश्नों) के लिए DBMS_SCHEDULER चुनने का उपकरण है। इसलिए यदि आप तालिका में स्थिति अपडेट करना चाहते हैं आपकी क्वेरी के परिणामों के आधार पर, DBMS_SCHEDULER का उपयोग करें।

उदाहरण के लिए, आप निम्न अद्यतन करते हुए किसी कार्य को शेड्यूल कर सकते हैं:

update x
   set status = (CASE 
                   WHEN sysdate < x.DUE_DATE - y.WARN THEN
                     'Ok'
                   WHEN sysdate >= x.DUE_DATE - y.WARN and today < x.DUE_DATE - y.CRITICAL THEN
                     'Warn'
                   WHEN sysdate >= x.DUE_DATE - y.CRITICAL and sysdate <= x.DUE_DATE THEN
                     'Critical'
                   WHEN sysdate > x.DUE_DATE THEN
                     'Overdue'
                 END)
;

रोज़ाना 00:00 बजे निर्धारित कार्य सृजित करने के लिए:

BEGIN
    dbms_scheduler.create_job(job_name => 'Status Updater',
                              job_type => 'PLSQL_BLOCK',
                              job_action => '
                                             BEGIN 
                                              update x
                                                set status = (CASE 
                                                                WHEN sysdate < x.DUE_DATE - y.WARN THEN
                                                                  ''Ok''
                                                                WHEN sysdate >= x.DUE_DATE - y.WARN and today < x.DUE_DATE - y.CRITICAL THEN
                                                                  ''Warn''
                                                                WHEN sysdate >= x.DUE_DATE - y.CRITICAL and sysdate <= x.DUE_DATE THEN
                                                                  ''Critical''
                                                                WHEN sysdate > x.DUE_DATE THEN
                                                                  ''Overdue''
                                                              END)
                                                 ;
                                              END;',
                              start_date => systimestamp,
                              repeat_interval => 'FREQ=DAILY;INTERVAL=1;BYHOUR=0;BYMINUTE=0;',
                              enabled => TRUE);
END;
/
  • यदि आपको रिपोर्ट तैयार करने की आवश्यकता है , या तो रिपोर्टिंग टूल में रिपोर्ट शेड्यूल करें या परिणाम सेट को संग्रहीत करने के लिए एक भौतिक दृश्य का उपयोग करें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में ग्रुप बाय / एग्रीगेट फंक्शन कन्फ्यूजन

  2. ORA-00911:अमान्य वर्ण

  3. Oracle:ORDER BY क्लॉज के संयोजन के साथ ROWNUM का उपयोग करके तालिका कॉलम को अपडेट करना

  4. कर्मचारियों को उनके प्रबंधकों के साथ कैसे प्राप्त करें

  5. ऑरैकल में सीएसवी को टेबल में कैसे बदलें?