Цикл в SQL для обновления записи в соответствии с пользователем
У меня есть 2 таблицы в моем sql server
в 1-й таблице сохраняю официальные праздники (officialHolidays
) и во второй таблице я сохраняю Leave Applied by users (appliedLeave
),
Я сохранил все субботу и воскресенье 2018 года в officialHolidays Table
вот один сценарий
У меня 2 пользователя
пользователь A
Применил отпуск от 1 dec 2018 to 10 dec 2018
поэтому оставьте заявку для этого пользователя 7 days
2 и 9 декабря - воскресенье 8 декабря - нерабочая суббота
пользователь B
Применил отпуск от 1 dec 2018 to 5 dec 2018
поэтому оставьте заявку для этого пользователя 4 days
2 декабря воскресенье
А также Dec 1
является saturday
эта суббота является рабочей субботой согласно моему БД, но теперь я даю эту субботу как официальный праздник, я обновил officialHolidays
и теперь я хочу обновить appliedLeave
таблица тоже так, что LeaveApplied для пользователя A
становится 6 и пользователь B
становится 3
Я хочу использовать циклы для обновления прав пользователя A, затем пользователя B
вот мой запрос на обновление
UPDATE officialHolidays SET
Active = @Active
WHERE OfficialID = @OfficialID
это то, что я пытался только сейчас
DECLARE @HolidayDate AS DATE = (SELECT Date FROM officialHolidays WHERE OfficialID = @OfficialID)
IF(EXISTS(SELECT 1 FROM AppliedLeave WHERE AppliedFrom BETWEEN @HolidayDate AND @HolidayDate
OR AppliedTo BETWEEN @HolidayDate AND @HolidayDate))
BEGIN
DECLARE @LeaveTaken AS FLOAT
DECLARE @LeaveRemaining AS FLOAT
--I want to add Loop Here
END
как я могу добавить цикл в этом scenerio?