字段有订单号,订单时间和订单状态。每天六点自动更新订单状态。
例:假设初始状态为1,每天更新时将,三天前的(包括三天)订单状态更改为3,两天的订单状态改为2。周六周日及法定节假日顺延。
DECLARE @DT datetime
DECLARE @ST int
DECLARE @CT int
set @DT = GETDATE()
set @ST = 0
while @ST <= 3
select @CT = count(*) from 节假日表 where 节假日表.日期 = @DT
begin
if datename(weekday,@DT ) in ('Sunday', 'Saturday') or @CT <> 0
begin
set @DT = @DT - 1
end
else
begin
set @ST = @ST + 1
update tablename set 订单状态 = @ST where 订单时间 = @DT
end
End
试试吧 没测试