我有一个计划的工作,我正在尝试根据新的要求更新其job_action
,但是字符串现在超过4000个字符。有没有办法让job_action
超过4000个字符而没有问题?或有什么解决方案?
答案 0 :(得分:3)
您必须使用job_type
作为PLSQL_BLOCK
的调度程序,这样才能在job_action
中使用4000个字符。
如果您要在工作中执行4000个以上的代码,而不是用您的代码创建procedure
(超过4000个字符),那么您需要使用job_type
更改调度程序STORED_PROCEDURE
和job_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;
/
干杯!