oracle存储过程和job

存储过程  把T_CKECK_EWS表中的数据插入HIS_T_NEOP_CMD_INSTANCE中,把T_CKECK_EWS表数据插入HIS_T_CKECK_EWS要求工单超过5分钟没处理置失败

create or replace procedure p_back_up_CKECKEWS
is
ewsID INTEGER;
TYPE cursorEws IS REF CURSOR;
crEws cursorEws;
begin
           Update T_CKECK_EWS Set ews_status=2,user_op_msg='工单超过5分钟没处理置失败' Where ews_status Not In (1,2) And req_dat< Sysdate-5/1440;
           Commit;
           Open crEws for select ews_id into ewsID from T_CKECK_EWS where ews_status in (1,2);
           loop
                FETCH crEws INTO ewsID;
                EXIT WHEN crEws%NOTFOUND;
                insert into HIS_T_CKECK_EWS (select * from T_CKECK_EWS where ews_id = ewsID); 
                insert into HIS_T_NEOP_CMD_INSTANCE (select * from T_NEOP_CMD_INSTANCE where task_instance_id = ewsID);
                                               
                delete from T_CKECK_EWS where ews_id = ewsID;
                delete from T_NEOP_CMD_INSTANCE where task_instance_id = ewsID;
                commit;
           end loop;
           close crEws;
end p_back_up_CKECKEWS;

oracle job:

begin
  sys.dbms_job.submit(job => :job,
                      what => 'p_back_up_CKECKEWS;',
                      next_date => to_date('27-11-2012 13:52:30', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'sysdate+5/1440');
  commit;
end;

每5分钟执行一次

原文地址:https://www.cnblogs.com/kunpengit/p/2790863.html