日期:2014-05-17  浏览次数:20781 次

想问大家一个定时调用存储过程的问题
比如存储过程名为Pro_PulseSimCard


我想在每过5天就调用一次这个存储过程, 怎么去做,希望能给详细的代码, 谢谢各位大侠了。。。。

------解决方案--------------------
SQL code
declare
jobno number;
begin
dbms_job.submit(jobno,'Pro_PulseSimCard;',sysdate/*第一次执行的时间*/,'trunc(sysdate)+5'/*五天后的0点,如果希望在固定时间执行,后面再加上 ?小时/24*/);
end;

------解决方案--------------------
创建一个JOB

sqlplus里如下执行:
variable job1 number; 
begin 
sys.dbms_job.submit(job => :job1, 
what => 'Pro_PulseSimCard;', 
next_date => sysdate, interval => 'sysdate+5');
commit; 
end; 



注意what里写清楚Pro_PulseSimCard的参数。
------解决方案--------------------
关于JOB
可以在sqlplus中
sql>var jobno number;
sql>DBMS_JOB.SUBMIT(:jobno,'YOUR_PROC;',SYSDATE,'TRUNC(SYSDATE + 5)');
详细可参考
http://edu.codepub.com/2009/1029/17059.php