create or replace procedure MQM_ADMISSION_DAYS_MER_SQL(p_startyear IN number,
p_endyear IN number,
p_orgid IN varchar2,
p_result OUT VARCHAR2) is
v_startyear number := p_startyear;
--定义游标,名称为cur_stu
cursor cur_stu is
select name,rnum,Q1,Q2,Q3
from table(QUARTILE_SJZYT_COMM(concat(v_startyear, '0101'),
concat(v_startyear, '1231'),
p_orgid,
2));
begin
for i in p_startyear .. p_endyear loop
for stu in cur_stu loop
--循环插入数据
insert into MQM_ADMISSION_DAYS_MAINOPER
(id,
year,
operase_name,
operase_code,
disch_pat,
lower_quartile,
median,
upper_quartile)
values
(sys_guid(),
v_startyear,
stu.name,
null,
stu.rnum,
stu.Q1,
stu.Q2,
stu.Q3);
end loop;
v_startyear := v_startyear + 1;
end loop;
p_result := 1;
commit;
EXCEPTION
WHEN OTHERS THEN
p_result := 0;
end MQM_ADMISSION_DAYS_MER_SQL;