什么是SYSPROC.ADMIN_TASK_ADD()的oracle等价物

时间:2018-02-11 19:38:53

标签: java oracle stored-procedures db2

我有一个用于在DB2中调度管理任务的现有SQL。它使用调用SYSPROC.ADMIN_TASK_ADD(10个参数)。其中一个参数是将由此计划任务调用的过程输入。 是否有相同的Oracle等价物?带参数。

例如:帮助我将DB2下面转换为Oracle:

call SYSPROC.ADMIN_TASK_ADD(name, begintime, endtime, maxinvocation, schedule, procedure_schema, procedure_name, 'VALUES(51,500,50)', options, remarks).

这里VALUES('51,500,50')是程序的输入,同样需要在Oracle的情况下去。

1 个答案:

答案 0 :(得分:2)

DMBS_SCHEDULER允许您添加将执行存储过程的作业

DOCS

这是一个例子

BEGIN
  dbms_scheduler.create_job(job_name => '"HR"."RUN_PROC_DO_NOTHING"',schedule_name => '"YOUR_SCHEDULER_WINDOW_HERE"',job_type => 'STORED_PROCEDURE'
    ,job_action => 'HR.DO_NOTHING_COMMENTS',number_of_arguments => 2,enabled => false,auto_drop => false,comments => 'will run procedure do_nothing_comments'
    );

  dbms_scheduler.set_job_argument_value(job_name => '"HR"."RUN_PROC_DO_NOTHING"',argument_position => 1,argument_value => '1');

  dbms_scheduler.set_job_argument_value(job_name => '"HR"."RUN_PROC_DO_NOTHING"',argument_position => 2,argument_value => '2');

  dbms_scheduler.set_attribute(name => '"HR"."RUN_PROC_DO_NOTHING"',attribute => 'store_output',value => true);

  dbms_scheduler.set_attribute(name => '"HR"."RUN_PROC_DO_NOTHING"',attribute => 'logging_level',value => dbms_scheduler.logging_off);

  dbms_scheduler.enable(name => '"HR"."RUN_PROC_DO_NOTHING"');
END;

如您所见,SCHEDULER包非常详细。但是,它非常灵活。您可以将作业链接在一起,定义非常具体的窗口等。

如果您愿意,SQL Developer有一个GUI,可以让您更轻松地管理它们。

enter image description here