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;
程序是正确的,能够运行,不过数据量很大的时候跑了一个内存溢出异常。
刚开始学存储过程,很多东西还不是很懂。
只是会最简单的。