我正在尝试为c_insert_ship_confirm_start
创建一个Oracle作业。
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB (
job_name => '"CRCTFDC11XRQA"."SHIP_CONFIRM_JOB"',
job_type => 'STORED_PROCEDURE',
job_action => 'c_insert_ship_confirm_start(1000,FDC,1,0)',
number_of_arguments => 0,
start_date => TO_TIMESTAMP('09-MAR-16 02.41.43.451000000 PM', 'DD-MON-RR HH.MI.SS.FF AM'),
repeat_interval => 'FREQ=DAILY;BYDAY=FRI,MON,SAT,SUN,THU,TUE,WED;BYMINUTE=5',
end_date => NULL,
job_class => 'DEFAULT_JOB_CLASS',
enabled => false,
auto_drop => true,
comments => 'SHIP_CONFIRM_JOB IN EVERY 5 MINS',
credential_name => NULL,
destination_name => NULL);
END;
参考::
的存储过程create or replace procedure c_insert_ship_confirm_start
(
p_commit_frequency in number default 1000,
p_whse in varchar2,
p_debug_flag in number default 0,
p_rc out number
)
创建JOB Oracle抛出错误::
ORA-27452:%s是数据库对象的无效名称
答案 0 :(得分:1)
stored_procedure
作业类型不支持参数。 Reference: Oracle Docs
使用plsql_block
BEGIN
sys.dbms_scheduler.create_job(job_name => '"CRCTFDC11XRQA"."SHIP_CONFIRM_JOB"',
job_type => 'PLSQL_BLOCK',
job_action => 'begin c_insert_ship_confirm_start(1000,''FDC'',1,0); end;',
number_of_arguments => 0,
start_date => to_timestamp('09-MAR-16 02.41.43.451000000 PM',
'DD-MON-RR HH.MI.SS.FF AM'),
repeat_interval => 'FREQ=DAILY;BYDAY=FRI,MON,SAT,SUN,THU,TUE,WED;BYMINUTE=5',
end_date => NULL,
job_class => 'DEFAULT_JOB_CLASS',
enabled => FALSE,
auto_drop => TRUE,
comments => 'SHIP_CONFIRM_JOB IN EVERY 5 MINS',
credential_name => NULL,
destination_name => NULL);
END;
/