HumanResources.Employeeテーブルの「列SickLeave時間」を更新します
次のロジックを実行する必要があります。35以上の時間は40に設定され、35未満の場合は0に設定されます。ループを解除するにはどうすればよいですか。
SQL Serverでこれを実現するにはどうすればよいですか?ありがとう。
HumanResources.Employeeテーブルの「列SickLeave時間」を更新します
次のロジックを実行する必要があります。35以上の時間は40に設定され、35未満の場合は0に設定されます。ループを解除するにはどうすればよいですか。
SQL Serverでこれを実現するにはどうすればよいですか?ありがとう。
正確な列名はわかりませんが、次のようなものが必要な場合があります。
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