declare
job1 number(4);
begin
sys.dbms_job.submit(job => job1,
what => 'declare s1 varchar2(200); s2 varchar2(200); begin
if to_number(to_char(sysdate,''hh24'') between 8 and 22) then p_test.usp_test_jobincs(s1,s2); end if; end;',
next_date => sysdate,
interval => 'sysdate+1/24');
commit;
end;
å¦æä½ æ³äºè§£Oracle JOBé´éæ¶é´åèçå®é
åºç¨æ¹æ¡çè¯ï¼ä½ å°±å¯ä»¥æµè§ä»¥ä¸çæç« å¯¹Oracle JOBé´éæ¶é´åèå¨å®é
ç¸å
³æä½ä¸çæ£ç¡®ç¨æ³ï¼æä¸ä¸ªæ´å æ·±å
¥ç认è¯ï¼ä»¥ä¸å°±æ¯æ£æç详ç»ä»ç»ã
å¦æä½ ç
åå¨è¿ç¨å为PROC_RAIN_JM
ååä¸ä¸ªåå¨è¿ç¨å为PROC_JOB_RAIN_JM
å
容æ¯ï¼
Create Or Replace Procedure PROC_JOB_RAIN_JM
Is
li_jobno Number;
Begin
DBMS_JOB.SUBMIT(li_jobno,'PROC_RAIN_JM;', SYSDATE,'TRUNC(SYSDATE + 1)');
End;
æåé£ä¸é¡¹å¯ä»¥åèå¦ä¸ï¼
æ¯å¤©åå¤12ç¹ 'TRUNC(SYSDATE + 1)'
æ¯å¤©æ©ä¸8ç¹30å 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
æ¯ææäºä¸å12ç¹ 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
æ¯ä¸ªæ第ä¸å¤©çåå¤12ç¹ 'TRUNC(LAST_DAY(SYSDATE ) + 1)'
æ¯ä¸ªå£åº¦æåä¸å¤©çæä¸11ç¹ 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
æ¯ææå
åæ¥æ©ä¸6ç¹10å 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6*60+10)/(24*60)'
å¨Oracle JOBé´éæ¶é´åèï¼å
¶ä¸li_jobnoæ¯å®çID,å¯ä»¥éè¿è¿ä¸ªIDåæè¿ä¸ªä»»å¡ï¼æåæ³è¯´çæ¯ä¸è¦æ§è¡å¤æ¬¡ï¼ä½ å¯ä»¥å¨éé¢ç®¡çèµ·æ¥ï¼åç°å·²ç»è¿è¡äºå°±ä¸SUBMIT
æ¯å¤©è¿è¡ä¸æ¬¡ 'SYSDATE + 1'
æ¯å°æ¶è¿è¡ä¸æ¬¡ 'SYSDATE + 1/24'
æ¯10åéè¿è¡ä¸æ¬¡ 'SYSDATE + 10/ï¼60*24ï¼'
æ¯30ç§è¿è¡ä¸æ¬¡ 'SYSDATE + 30/(60*24*60)'
æ¯éä¸ææè¿è¡ä¸æ¬¡ 'SYSDATE + 7'
ä¸åè¿è¡è¯¥ä»»å¡å¹¶å é¤å® NULL
æ¯å¹´1æ1å·é¶æ¶
trunc(last_day(to_date(extract(year from sysdate)||'12'||'01','yyyy-mm-dd'))+1)
ä¸è¿°çç¸å
³å
容就æ¯å¯¹Oracle JOBé´éæ¶é´åèçæè¿°ï¼å¸æä¼ç»ä½ 带æ¥ä¸äºå¸®å©å¨æ¤æ¹é¢ãæ¥èªï¼æ±å©å¾å°çåç