Планировщик заданий не выполняется в Oracle - PullRequest
0 голосов
/ 05 октября 2019

код оракула Я создал планировщик заданий со вставкой идентификатора sysdate в таблицу, но когда я запускаю select * from table;тогда записи не найдены.

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 голосов
/ 05 октября 2019

Просто замените job_action на job_action => 'job_schedule_demo_proc;'. Тип задания должен оставаться таким же, как и PLSQL_BLOCK

0 голосов
/ 05 октября 2019

Вы пробовали запустить процедуру вручную?

Проверьте это представление для получения дополнительной информации о состоянии выполнения задания, вы получите некоторую подсказку.

"DBA_SCHEDULER_JOB_RUN_DETAILS"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...