存储过程 把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分钟执行一次