프로덕션에서 배포 한 날짜부터 매주 실행해야하는 프로 시저가 있습니다. 배포 당일에 실행해야하고 종료 날짜까지 다음 주에 실행해야하는 프로 시저가 있습니다. 변수에 저장됩니다.오라클에서 매주 프로 시저를 실행하는 방법
내가 가정 시작 날짜를 별도의 스케줄러 또는 DBMS_JOB
을 만드는 대신 프로 시저 수준에서이를 통합해야하는 것은 2013년 11월 1일 (배포 일)과 종료 날짜는 내가 필요로 2014년 4월 30일 입니다 시작일을 포함하여이 기간에 한 번씩 매주 절차를 실행해야합니다.
2014 년 4 월 28 일과 다음 주에 실행되는 proc가 MAY에 있다고 가정하면 2014 년 4 월 30 일까지 매일 실행해야합니다.
도움을 받으실 수 있습니다. (NUMBER_OF_SECONDS를)
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
"나는 프로 시저 수준에서이를 통합해야"에서 해당 절차에 대한 자세한 정보를 볼 수 이것은 무엇을 의미합니까? dbms_scheduler가 금지 된 이유는 무엇입니까? (원하는 작업을 수행하기 위해 생성 된 db 작업을 예약했습니다.) – tbone
proc.with의 다른 종료 날짜에 3 개의 블록이 있으므로 세 명의 스케줄러를 만들어야합니다.이 프로 시저는 다른 프로 시저에서 호출됩니다. 그래서 나는 생각하고있었습니다. 스케줄러가 아닌 프로 시저에서 구현하는 것. –
자주 스케줄러를 사용합니다. 그것의 상황이 무엇인지는 분명하지 않지만 세 가지 별도의 스케줄러 작업 (아마도 체인은 있지만 불분명 함)이 필요합니다. 당신이 시작하려고하는 코드를 게시 할 수 있습니까? – tbone