0

更新 HumanResources.Employee 表 'column SickLeave Hours'

我需要执行以下逻辑:如果 Hours 大于或等于 35 设置为 40 如果小于 35 设置为 0。如何打破循环?

如何在 SQL Server 中实现这一点?谢谢。

4

1 回答 1

1

我不确定您的确切列名是什么,但也许您想要类似的内容:

DECLARE @BatchSize int
SET @BatchSize = 10
WHILE @@ROWCOUNT > 0
BEGIN
   UPDATE TOP (@BatchSize) HumanResource.Employee
     SET SickLeaveHours = CASE WHEN SickLeaveHours >= 35 THEN 40 ELSE 0 END
   WHERE SickLeaveHours NOT IN (40,0)
END
于 2012-09-27T20:15:26.910 回答