百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> sql 存储过程实例教程
分享文章到:

sql 存储过程实例教程

发布时间:01/15 来源: 浏览: 关键词:
create or replace PROCEDURE CMPP_SUBMIT_REMOVE_PROCEDURE
Is
  dEndTime date; -- 每次处理是时间点
  -- 取得要处理的数据ID
  cursor c_cmpp_submit(endTime date) is
  select id from cmpp_submit
    where ((ih_process <> 'insert_cmpp_submit' and ih_process <> 'wait_for_response')
      or (ih_process = 'wait_for_response' and ih_retry <= 0))
      and ih_timestamp < endTime and rownum<100001 ;
 iId number; -- id
 iCount number; -- 计数器
begin
  --dEndTime := trunc((SYSDATE - 1/288),'mi'); -- 取得处理时间点,处理5分钟前的数据
  dEndTime := trunc(SYSDATE,'mi'); -- 取得处理时间点
  iCount := 0; -- 初始化计数
  open c_cmpp_submit(dEndTime);
  loop
    fetch c_cmpp_submit into iId;
    exit when c_cmpp_submit%notfound;
    iCount := iCount+1;
    insert into cmpp_submit_backup select * from cmpp_submit where id=iId;
    delete from cmpp_submit where id=iId;
    if ( iCount=1000 ) then -- 每1000条提交一次
    begin
      commit;
    end;
    end if;
  end loop; -- end of loop
  close c_cmpp_submit;
  commit;
  return;
EXCEPTION
  WHEN OTHERS THEN
  BEGIN
    rollback;
    if c_cmpp_submit%isopen then
       close c_cmpp_submit;
    end if;
  EXCEPTION
    WHEN OTHERS THEN
      NULL;
  END;

end CMPP_SUBMIT_REMOVE_PROCEDURE;

这是一款数据库的存储过程实例教程

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有5人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板