Oracle12:调用包内的过程

Oracle12: calling a procedure inside a Package

我有一个DBMS_JOB工作声明如下

BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'GET_ENAGAS_INVOICES_JOB',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN LOPES.GET_ENAGAS_INVOICES; END;',
repeat_interval =>'FREQ=MINUTELY; INTERVAL=5; BYHOUR=9,22; BYDAY=TUE,WED,THU,FRI,SAT,SUN', 
enabled => TRUE,
comments => 'GET_ENAGAS_INVOICES');
END;
/

我把这个过程移到了一个包里,我想知道是否仍然可以运行这份工作

是的,只需使用 SCHEMA_NAME.PACKAGE_NAME.PROCEDURE_NAME:

BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
    job_name => 'GET_ENAGAS_INVOICES_JOB',
    job_type => 'PLSQL_BLOCK',
    job_action => 'BEGIN LOPES.PACKAGE_NAME.GET_ENAGAS_INVOICES; END;',
    repeat_interval =>'FREQ=MINUTELY; INTERVAL=5; BYHOUR=9,22; BYDAY=TUE,WED,THU,FRI,SAT,SUN', 
    enabled => TRUE,
    comments => 'GET_ENAGAS_INVOICES'
  );
END;
/