Цикл в 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?

0 ответов

Другие вопросы по тегам