当导入下一月份的奖励时,假如导入2月份奖励表月份 编号 名字 奖励费
201202 001 李四 3500
201202 002 张三 4500自动将下表更新,更新方式为:将上月的余额加到本月的奖励费,生成本月总的奖励费:2月份总的奖励费=2月份新发的奖励费+1月份的余额月份 编号 名字 可报数 已报数 余额
201201 001 李四 3000 300 2700
201201 002 张三 1500 800 700
201202 001 李四 6200
201202 002 张三 5200请问各位大哥,每导入当月的奖励费用,自动将上月的余额加到本月新发的奖励费,生成总的奖励费?该如何实现
201202 001 李四 3500
201202 002 张三 4500自动将下表更新,更新方式为:将上月的余额加到本月的奖励费,生成本月总的奖励费:2月份总的奖励费=2月份新发的奖励费+1月份的余额月份 编号 名字 可报数 已报数 余额
201201 001 李四 3000 300 2700
201201 002 张三 1500 800 700
201202 001 李四 6200
201202 002 张三 5200请问各位大哥,每导入当月的奖励费用,自动将上月的余额加到本月新发的奖励费,生成总的奖励费?该如何实现
create table tb
(
月份 varchar(6),
编号 varchar(3),
名字 nvarchar(3),
可报数 int,
已报数 int,
余额 int
)
go
create trigger tr_tb_insert on tb
for insert
AS
begin
update c set c.可报数= a.可报数 + isnull((select top 1 余额 from tb b where a.编号 =b.编号 and a.月份 >b.月份 order by b.月份 desc ),0) from inserted a ,tb c where a.月份=c.月份 and a.编号=c.编号endinsert into tb
select '201201','001', '李四', 3000, 300, 2700 union all
select '201201','002','张三' ,1500, 800, 700select * from tb月份 编号 名字 可报数 已报数 余额
------ ---- ---- ----------- ----------- -----------
201201 001 李四 3000 300 2700
201201 002 张三 1500 800 700
insert into tb
select '201202','001', '李四', 3500, null, null union all
select '201202','002', '张三', 4500, null, null
select * from tb月份 编号 名字 可报数 已报数 余额
------ ---- ---- ----------- ----------- -----------
201201 001 李四 3000 300 2700
201201 002 张三 1500 800 700
201202 001 李四 6200 NULL NULL
201202 002 张三 5200 NULL NULL