--以下存储过程调试不通过,郁闷
create procedure sf_形成月工资统计表 @导入工资月份 int,@统计工资月份 int
as
begin transaction
delete from 月工资统计表
--删除已有数据
if exists (select * from 工资发放历史表 where 日期 = @导入工资月份)
begin
--从历史导入
insert into 月工资统计表
(日期,职员编号,基本工资,浮动工资,合同补,粮副补,房补,临时补,职务工资,工龄工资,考核工资,奖金,
应发金额合计,房租,水电费,请假扣除,考勤扣除,罚款,住房公积金,医疗保险,养老保险,失业保险,
生育保险,工商保险,应扣金额合计,工资合计,个人所得税,实发金额,发放否,月份)
select @统计工资月份,职员编号,基本工资,浮动工资,合同补,粮副补,房补,临时补,职务工资,
工龄工资,考核工资,奖金,应发金额合计,工资合计,个人所得税,实发金额,发放否,月份
from 工资发放历史表 as h where h.日期 = @导入工资月份
end
--新的员工,历史没有记录,生成记录
insert into 月工资统计 (职员编号,日期) select 职员编号,@统计工资月份
from 职员基本信息表 as h where h.职员编号 not in
(select 职员编号 from 月工资统计表)
--将空数据置0
exec sf_空数据置0
--自动计算工资
exec sf_当月工资统计
commit