Oracle存儲過程和job在項目中的應用

最近在實習公司的項目開發中有遇到這麼一個需求:在做一個電價管理系統中,有新增電價這麼一個功能,新增電價默認不生效,用戶可以手動選擇生效的時間,到了時間電價就自動變成生效,如下圖所示
這裏寫圖片描述
在界面中是這樣的
這裏寫圖片描述

對於這個需求我們可以利用存儲過程和job來實現。
新建一個存儲過程對電價生效標誌進行更新,然後在job中每天定時執行這個存儲過程
sql語句如下:

--create procedure 
create or replace procedure p_carstatus as   
begin   
 update e_price e set e.release_flag='是' where sysdate > e.release_date;
COMMIT;
end;

--create job
declare   
jobno   number;   
begin   
dbms_job.submit(:jobno,'p_carstatus;',sysdate,'trunc(sysdate)+1');--每天凌晨,注意不要漏掉 jobno前面的:
commit;
end; 

這樣就能實現定時對電價生效標誌進行更新了,以上只是一個例子,存儲過程和job結合使用的例子還有很多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章