create or replace procedure P_sno_J314 as cursor num is select * from sch_J314; college varchar(4); major varchar(4); class int; stud int; each_stud int; begin
for a in num loop college := a.college; major := a.major; class := a.class_num; stud := a.stud_num; each_stud := stud/class; if each_stud * class > stud then each_stud := each_stud - 1; end if; for i in 1..class loop for j in 1..each_stud loop insert into sno_J314 values(college||major||'17'||TO_CHAR(i,'FM09')||TO_CHAR(j,'FM09')); end loop; end loop; for i in 1..stud - each_stud * class loop insert into sno_J314 values(college||major||'17'||TO_CHAR(i,'FM09')||TO_CHAR(stud / class + 1,'FM09')); end loop; end loop; end P_sno_J314; . / exec P_sno_J314;