2015-11-09 4 views
0

Я работаю над системой управления отпусками, и это мое первое веб-приложение. У меня есть локальный сервер LocalDB в visual studio 2010, и мне нужно, чтобы некоторые столбцы обновлялись каждый год.Как изменить значение столбца на основе даты (каждый год)

Например, у меня есть столбец SickLeave (int), мне нужно, чтобы этот столбец обновлялся со значением (15) в определенную дату (каждый год), дата будет отличаться от одного сотрудника к другому на основе его Дата вступления.

Я много искал, в mySQL есть что-то, что называется запланированным событием, которое может сделать что-то подобное, но оно не работает для SQL-сервера.

У кого-нибудь есть идея, как это сделать? Ваша помощь будет оценена по достоинству.

Заранее спасибо.

+0

Рассмотрим (пере) проектирование системы таким образом, что такие периодические работы не требуется. Всегда существует вероятность того, что запланированное задание не будет запущено или запущено несколько раз или будет работать в неподходящее время. –

+0

@VladimirBaranov Спасибо за ваш совет. Я буду помнить об этом. –

ответ

0

Вы можете использовать SQL Agent Job.

SQL Agent: https://msdn.microsoft.com/en-us/library/ms189237.aspx

Создать задание: https://msdn.microsoft.com/en-us/library/ms190268.aspx

Мы используем их для всех видов запланированных задач.

В вашем случае вы можете создать Job, который запускает Daily, задание может выполнять StoredProc (или простой оператор Update).

UPDATE Employee SET SickLeave = 15 WHERE DAY(JoinedDate) = DAY(GETDATE()) AND MONTH(JoinedDate) = MONTH(GETDATE())

+0

Большое спасибо за ваш ответ. Я попробую. –

Смежные вопросы