预定作业的作业操作在oracle中超过4000个字符

时间:2019-12-11 17:16:52

标签: sql oracle jobs

我有一个计划的工作,我正在尝试根据新的要求更新其job_action,但是字符串现在超过4000个字符。有没有办法让job_action超过4000个字符而没有问题?或有什么解决方案?

1 个答案:

答案 0 :(得分:3)

您必须使用job_type作为PLSQL_BLOCK的调度程序,这样才能在job_action中使用4000个字符。

如果您要在工作中执行4000个以上的代码,而不是用您的代码创建procedure(超过4000个字符),那么您需要使用job_type更改调度程序STORED_PROCEDUREjob_action作为新创建的过程名称。

类似于以下内容(来自oracle docs的示例):

BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
   job_name           =>  'update_sales',
   job_type           =>  'STORED_PROCEDURE', -- change needed here in your case
   job_action         =>  'OPS.SALES_PKG.UPDATE_SALES_SUMMARY', -- change needed here in your case
   start_date         =>  '28-APR-08 07.00.00 PM Australia/Sydney',
   repeat_interval    =>  'FREQ=DAILY;INTERVAL=2', /* every other day */
   end_date           =>  '20-NOV-08 07.00.00 PM Australia/Sydney',
   auto_drop          =>   FALSE,
   job_class          =>  'batch_update_jobs',
   comments           =>  'My new job');
END;
/

干杯!