Oracle工具类-生成数据库现有Job的创建脚本

时间:2023-12-18 15:49:56

生成Oracle数据库现有Job的创建脚本

  -- 生成现有Job的创建脚本
create or replace procedure proc_generate_job_create_sql is
begin

DBMS_OUTPUT.ENABLE(buffer_size => null); --表示输出buffer不受限制
      sys.dbms_output.put_line('declare');
      sys.dbms_output.put_line(' v_job number;');
      sys.dbms_output.put_line('begin');

for j in (select what, interval from user_jobs) loop
      sys.dbms_output.put_line(' sys.dbms_job.submit(job => v_job,');
      sys.dbms_output.put_line(' what => ''' ||
      j.what || ''',');
      sys.dbms_output.put_line(' next_date => ' ||
      j.interval || ',');
      sys.dbms_output.put_line(' interval => ''' ||
      j.interval || ''');');
      end loop;

sys.dbms_output.put_line(' commit;');
      sys.dbms_output.put_line('end;');

end;

参考资料

ORA-20000:ORU-10027:buffer overflow,limit of 2000 bytes.