Sql server 2008 如何在满足条件时自动激发Sql语句?

Sql server 2008 如何在满足条件时自动激发Sql语句?,sql-server-2008,triggers,Sql Server 2008,Triggers,我有一个表Training有列T\u StartDate和T\u EndDate等等。现在我想如果保存的T_EndDate与今天的日期匹配,我想该列的记录应该自己删除。为此,我在过程中编写了一些代码,但我认为这不会像预期的那样工作,因为过程不能自动启动。 所以对于这个问题,我从互联网上读到,我需要一个触发器来完成这样的功能。但是我对触发器没有太多的想法。 那么请告诉我怎么做? 另外,我附上了一张我的桌子的图片,以便你们了解结构。 提前谢谢 只需添加一个计算列: alter table Train

我有一个表
Training
有列
T\u StartDate
T\u EndDate
等等。现在我想如果保存的
T_EndDate
与今天的日期匹配,我想该列的记录应该自己删除。为此,我在过程中编写了一些代码,但我认为这不会像预期的那样工作,因为过程不能自动启动。 所以对于这个问题,我从互联网上读到,我需要一个触发器来完成这样的功能。但是我对触发器没有太多的想法。 那么请告诉我怎么做? 另外,我附上了一张我的桌子的图片,以便你们了解结构。 提前谢谢


只需添加一个计算列:

alter table Training add IsValid as (case when t_enddate < cast(getdate() as date) then 1 else 0 end)
然后,您可以在空闲时删除这些行——每月删除一次,每周删除一次


否则,您需要将作业设置为正好在午夜运行。否则,数据将在一段时间内无效。而且,如果您由于某种原因错过了更新,您可能会遇到问题。

为什么要删除该记录?为什么不干脆挂个“NoLongerValid”标志或类似的东西呢?是的!!如果我更新我的表并将flag设置为false,这就可以了。但没有这样做的想法或自动查询ied#戈尔丹·林诺夫
create view v_Training as
     select t.*
     from Training
     where IsValid = 1;