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

时间:2019-10-05 06:22:07

标签: sql oracle oracle11g

code of oracle 我创建了一个作业调度程序,在表中插入一个sysdate的ID,但是当我运行时,从表中选择*;然后没有记录。

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;

2 个答案:

答案 0 :(得分:0)

您尝试手动运行该过程吗?

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

“ DBA_SCHEDULER_JOB_RUN_DETAILS”

答案 1 :(得分:0)

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

相关问题