我有一个程序,我需要从生产部署之日起每周执行一次。它应该在部署当天运行,然后在接下来的几周内运行,直到存储在变量中的结束日期。
我需要在过程级别合并它,而不是创建单独的调度程序或 dbms_job
假设开始日期是 2013 年 11 月 1 日(部署日),结束日期是 2014 年 4 月 30 日,我需要在此期间每周运行一次程序,包括开始日期。
假设 proc 在 2014 年 4 月 28 日运行,下周在 5 月,那么到 2014 年 4 月 30 日它应该每天运行。
帮助将不胜感激。
BEGIN
FOR I IN (SELECT typename ....)-- will give 3 output
LOOP
IF typename = 'ABC' THEN
-- run THE UPDATE every week FROM start date TO END
UPDATE TEST
SET TEST.A = ....,
TEST.b = ....
WHERE TEST.c IN (....)
ELSIF typename = 'PQR'THEN
UPDATE TEST1
SET TEST.A1 = ...,
TEST.b1 = ...,
WHERE test1.c IN (....)
END LOOP;
END;
-- run THE UPDATE every week FROM start date TO END
--Note start date and end date is different for different types.
--***If the week it ran is less than end date then schedule the update every day from --that week
--eg the last day ends at 04/30/2014, ,
--the last run happened on 04/28/2014 then update should run on 4/29,4/30 also