最近在實習公司的項目開發中有遇到這麼一個需求:在做一個電價管理系統中,有新增電價這麼一個功能,新增電價默認不生效,用戶可以手動選擇生效的時間,到了時間電價就自動變成生效,如下圖所示
在界面中是這樣的
對於這個需求我們可以利用存儲過程和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結合使用的例子還有很多。