如何根据日期(每年)更改列值

时间:2015-11-09 04:50:12

标签: sql sql-server

我正在开发休假管理系统,这是我的第一个网络应用程序。我在visual studio 2010中有一个LocalDB sql server,我需要每年更新一些列。

例如,我有SickLeave列(int),我需要在特定日期(每年)使用值(15)更新此列,根据他的加入,日期将从一个员工到另一个员工不同日期。

我已经搜索了很多,在mySQL中有一些叫做预定事件的东西可以做类似的事情,但它对sql server不起作用。

所以任何人都知道该怎么做?我们将非常感谢您的帮助。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用SQL代理作业。

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

创建工作:https://msdn.microsoft.com/en-us/library/ms190268.aspx

我们将这些用于各种计划任务。

在您的情况下,您可以创建每日运行的作业,作业可以执行StoredProc(或简单的Update语句)。

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