0

HumanResources.Employeeテーブルの「列SickLeave時間」を更新します

次のロジックを実行する必要があります。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 に答える