我的脚本在超过 3 行中没有效果

My script has no effects in more than 3 rows

脚本有 2 行时工作正常。停止阅读 3.

这是 MSSQL Server 2005。尽管尝试,但没有任何结果。

DECLARE @CurrentAccountLevel int
DECLARE @CurrentAccountExpireDate smalldatetime

SELECT @CurrentAccountLevel=Type,@CurrentAccountExpireDate=Date FROM T_VIPList

IF(@CurrentAccountLevel <> 0 AND getdate() > @CurrentAccountExpireDate)
BEGIN
SET @CurrentAccountLevel = '0'

UPDATE T_VIPList SET Type=@CurrentAccountLevel,Date=@CurrentAccountExpireDate 
END

没有错误信息。但是如果我有超过 10 行,它不会影响应该影响的行。

鉴于您评论中的新信息,您应该将其简化为更新声明。不需要变量、IF 语句等

UPDATE T_VIPList SET Type = '0'
where Date < getdate()
    and Type <> '0'