生成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;
参考资料