Oracle 定时执行存储过程

1.首先创建一个简单的存储过程

create  or replace PROCEDURE sp_wftestone

(

msgvarchar

)

as

begin

deletefromwf_testone;

commit;

end;

2.创建作业需要在命令窗口里面执行:

SQL> variable   v_jobnum   number;

SQL>execdbms_job.submit(:v_jobnum,'sp_wftestone('');',trunc(sysdate)+(15*60+15)/1440,'trunc(sysdate)+1+(15*60+15)/1440');

PL/SQLproceduresuccessfullycompleted

3.删除作业

SQL> begin

2dbms_job.remove(:v_jobnum);

3end;

4/

ps:

用job的话 

DBMS_JOB.SUBMIT(:jobno,//job号

'your_procedure;',//要执行的过程

trunc(sysdate)+1/24,//下次执行时间

'trunc(sysdate)+1/24+1'//每次间隔时间

);

在九点中创建job,然后每天九点job自动执行过程了

VARIABLEjobnonumber;

begin

DBMS_JOB.SUBMIT(:jobno,

'Procdemo;',

SYSDATE,'SYSDATE+1');

commit;

end;

/

相关推荐