我有一个用于在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的情况下去。
答案 0 :(得分:2)
DMBS_SCHEDULER允许您添加将执行存储过程的作业
这是一个例子
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,可以让您更轻松地管理它们。