过程1

create or replace procedure autoplan_bysch(v_schid number) is
v_planId number;
v_itemid number;
v_fee number(8,2);
v_subname varchar(40);
v_groupid number;
v_subno number;
TYPE tCursor is REF CURSOR;
cur_item tCursor;
begin
--查找只有明细,没有计划的学校
delete from sch_plan where schid =v_schid;
delete from sch_item where schid =v_schid;

--对每个学校进行处理
select SEQ_PLANID.Nextval into v_planId from sys_org where rownum=1;

--插入缴费计划表
insert into sch_plan values(
v_planId, --计划编号
'2007收费',--计划名称
6,--计划状态
sysdate,--计划时间
v_schid,--学校编号
sysdate,--执行时间
sysdate,--结束时间
0,--自动缴费标志
sysdate,--缴费时间
2007,--学年
0,--学期
1,--备案是否
'自动生成',
0,
'');
--开始插入计划明细信息
open cur_item for
select distinct feepay,subname,groupid,subno from pay_list where schid=v_schid;
loop
--获取学校每个班级的收费情况
fetch cur_item into v_fee,v_subname,v_groupid,v_subno;
exit when cur_item%notfound;

--插入缴费计划明细
select seq_schitemid.nextval into v_itemid from sys_org where rownum=1;
insert into sch_item values(
v_itemid,--编号
v_planid,--计划编号
v_subno,--科目编号:稍后更新
v_schid,--学校编号
v_groupid,--组织编号
9999,--年级
v_fee,
'学校未提供这部分数据',--收费依据
0,--自愿标志
0,--标准
0,--备案
v_subname,--费用名称,放到remark里面了
v_fee,--价格
1,--数量
0,--标准
0,--警告标志
'');--警告信息

--更新pay_list表
update pay_list set planid=v_planid, schitemid = v_itemid,
planname='2007收费'
where schid=v_schid and groupid = v_groupid and
subname = v_subname and feepay = v_fee;
end loop;
commit;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值