plsql徒手写脚本新建job执行

场景:省集中项目,对广州地市的数据进行数据清洗检查。跑存储过程,容易出现卡死情况,plsqldev崩溃掉,过程直接断开连接。于是考虑后台跑任务job。

材料plsqldev的sql窗口。写代码

declare 
  jobid pls_integer;
begin
  sys.dbms_job.submit(job => jobid,what => 'p_test();',next_date => sysdate,interval => '');
  sys.dbms_output.put_line(jobid);
  commit;
end;

以上测试,需要在oracle数据库安装的时候自带的scott用户下。

create table emp_test as select * from emp where 1=2;
create or replace procedure p_test is
 index1 varchar2(20);
 jl_emp emp_test%rowtype;
 cursor c_emp is 
   select * from emp;
begin
  for v_emp in c_emp loop
    jl_emp := v_emp;
    insert into emp_test values jl_emp;
    commit;
  end loop;
end; 

猜你喜欢

转载自yhzhangdota.iteye.com/blog/2370629