declare @a int,@Finterid int,@Fdayid int select @Finterid=max(Finterid),@Fdayid=max(Fdayid) from t_MutiWorkCal--select Fdayid,FWeekID, FMonthID, FYearID, FCalID, FPreID, FNxtID, * from t_MutiWorkCal set @a=0 while(@a<1*365) begin insert into t_MutiWorkCal(FInterID, FDay, FDayID, FWeekID, FMonthID, FYearID, FCalID, FPreID, FNxtID, FPreDay, FNxtDay) select @Finterid+1,Convert(datetime,'2016-01-01')+@a,@Fdayid+1,162,37,4,999,@Finterid,@Finterid,Convert(datetime,'2016-01-01')+@a,Convert(datetime,'2016-01-01')+@a set @a=@a+1 set @Finterid=@Finterid+1 set @Fdayid=@Fdayid+1 end比如今天是6月22号星期五,之前你工厂日历设置的是周六周日休息,那你在下达任务单到23号会出错,因为是休息日我们需要把6月22号之后的所有工厂日历全部删除后,通过以上代码把6月22号之后的日期重新写进后台