繁体   English   中英

作业调度程序未在 oracle 中执行

[英]Job scheduler not execute in oracle

oracle 的代码我创建了一个作业调度程序,在表中插入 ID 和 sysdate 但是当我从表中运行 select * 时; 然后没有找到记录。

create or replace procedure job_schedule_demo_proc is
x number:=1;
y number;
begin
select max(id) into y from job_schedule_demo;
if ( y is null) then
insert into job_schedule_demo values (1,sysdate);
else
x:=y+1;
insert into job_schedule_demo values (x,sysdate);
end if;
commit;
end; 

BEGIN 
      DBMS_SCHEDULER.create_job ( job_name=> 'test_full_job_definition',
                                  job_type=> 'PLSQL_BLOCK',
                                  job_action=> 'BEGIN job_schedule_demo_proc(); END;',
                                  start_date=> SYSTIMESTAMP,
                                  repeat_interval => 'freq=minutely; byminute=1; bysecond=0;',
                                  end_date=> NULL,
                                  enabled=> TRUE,
                                  comments=> 'Job defined entirely by the CREATE JOB procedure.');
END;

您是否尝试手动运行该过程?

检查此视图以获取有关作业运行状态的其他详细信息,您将获得一些线索。

“DBA_SCHEDULER_JOB_RUN_DETAILS”

只需将 job_action 替换为 job_action=> 'job_schedule_demo_proc;'。 Job_type 应该保持相同的 PLSQL_BLOCK

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM