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

怎么创建一个调度作业执行一个存储过程?在线等
我想创建一个调度每天晚上9点执行,执行存储过程的操作,那个存储过程的内容就是从一个表每天定时往另外一个表中传输一些数据.

------解决方案--------------------
variable job1 number;
begin
dbms_job.submit(:job1, 'MYPROC; ',sysdate, 'sysdate+1/1440 '); 
 --每天1440分钟,即一分钟运行test过程一次
commit;
end;
/

MYPROC 这个过程为你要传输数据的过程。
------解决方案--------------------
dbms_job.submit(:job1, 'MYPROC; ',sysdate, 'sysdate+1 ');就可以一天执行一次

直接改成过程名就可以了
------解决方案--------------------
dbms_scheduler.create_job (
job_name => 'MyJob ', --your job name
job_type => 'STORED_PROCEDURE ', --call stored procedure
job_action => 'Package.Procedure ', --your procedure name in the package
start_date => to_timestamp(SYSDATE, ’yyyy-mm-dd hh24:mi:ss '), --start time to run the job
repeat_interval => 'FREQ=DAILY;BYHOUR=21 ', --21:00 daily to run the jobs
enabled => TRUE, --enable the job
auto_drop => FALSE,
comments => 'my job run at 21:00 daily ' --your job description
);
你可以在表User_Scheduler_jobs中查询所有你创建的Jobs