存储过程CURSOR使用

create or replace
procedure pro_exec_stat
as
  cursor log_info is
    select route_value,process_time,rsp_code,rsp_desc from log_interface_detail;
  cursor area_info is
    select city_no,pro_no,pro_name from a_city_code;
  cursor number_info is
    select areano,beginnum,endnum from GsmNumberBound;
begin
  dbms_output.PUT_LINE('ok');
  for log_infos in log_info
  loop
    for number_infos in number_info
    loop
      if log_infos.route_value>=number_infos.beginnum
      and log_infos.route_value<=number_infos.endnum
      then
        for area_infos in area_info
        loop
          if number_infos.areano = area_infos.city_no
          then
            dbms_output.PUT(log_infos.route_value);
            dbms_output.PUT('  ');
            dbms_output.PUT(log_infos.process_time);
            dbms_output.PUT('  ');
            dbms_output.PUT(area_infos.pro_no);
            dbms_output.PUT('  ');
            dbms_output.PUT(area_infos.pro_name);
            dbms_output.PUT('  ');
            dbms_output.PUT(log_infos.rsp_code);
            dbms_output.PUT('  ');
            dbms_output.PUT(log_infos.rsp_desc);
            dbms_output.PUT_LINE('');
            exit;
          else
          null;
          end if;
        end loop;
        exit;
      else
      null;
      end if;
    end loop;
  end loop;
end pro_exec_stat;
程序是正确的,能够运行,不过数据量很大的时候跑了一个内存溢出异常。

刚开始学存储过程,很多东西还不是很懂。

只是会最简单的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值