Объявление job_action
заключено в одинарные кавычки.Следовательно, вам нужно экранировать все одиночные кавычки, которые находятся внутри него, иначе Oracle не сможет правильно его проанализировать.
Поэтому вы должны заменить каждые '
на ''
в job_action
, а именно вобъявления VAR1
и VAR2
(VAR3
и VAR4
уже в порядке):
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
(
job_name => 'OWNER.TEST_PROM'
,start_date => TO_TIMESTAMP_TZ('2018/12/07 03:00:00.324000 -05:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
,repeat_interval => 'freq=daily'
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'PLSQL_BLOCK'
,job_action => '
BEGIN
DECLARE
VAR_1 VARCHAR2(30) := ''001'';
VAR_2 VARCHAR2(20) := '''';
VAR_3 VARCHAR2(20) := TO_CHAR(TO_DATE(SYSDATE-15),''YYYYMMDD'');
VAR_4 VARCHAR2(20) := TO_CHAR(TO_DATE(SYSDATE),''YYYYMMDD'');
OWNER.LOAD_DATA_LOCAL.LOAD_PROM (VAR_1,VAR_2,VAR_3,VAR_4);
OWNER.LOAD_DATA_LOCAL.LOAD_COB_PROM (VAR_1,VAR_2,VAR_3,VAR_4);
OWNER.LOAD_DATA_LOCAL.LOAD_CUP (VAR_1,VAR_2,VAR_3,VAR_4);
end;'
,comments => 'Ejecuta LOAD_prueba_cupones'
);
end;
/
См. этот документ Oracle для примеров создания рабочих мест.