- कार्य चलाने (और प्रश्नों) के लिए 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;
/
- यदि आपको रिपोर्ट तैयार करने की आवश्यकता है , या तो रिपोर्टिंग टूल में रिपोर्ट शेड्यूल करें या परिणाम सेट को संग्रहीत करने के लिए एक भौतिक दृश्य का उपयोग करें।