- 论坛徽章:
- 0
|
declare
v_num varchar2(20);
v_date date;
v_selnum varchar2(20);
v_finidate date;
v_i int;
cursor cur_qqyj is
select sel_num,finish_date from sp_qqyj where oper_attrib_id='2' and bureau_id in ('1403','1401');
begin
open cur_qqyj;
loop
fetch cur_qqyj into v_num,v_date;
exit when cur_qqyj%notfound;
select count(*) into v_i
from sp_qqyj where sel_num=v_num and finish_date<v_date
and oper_attrib_id='1' group by sel_num;
if v_i<>0 then
select sel_num,max(finish_date)
into v_selnum,v_finidate
from sp_qqyj where rtrim(ltrim(sel_num))=ltrim(rtrim(v_num)) and finish_date<v_date
and oper_attrib_id='1' group by sel_num;
else
select 'havenonum',to_date('1900-01-01','yyyy-mm-dd') into v_selnum,v_finidate from dual;
end if;
insert into sp_qqyj_cj
select v_num,v_date,v_selnum,v_finidate,'' from dual;
commit ;
end loop;
close cur_qqyj;
end; |
|