我的问题很混乱,但我的意思基本上是这样的:假设我有一个名为EXECUTELATER
的表(在我的应用程序的SQL Server数据库中(,我有一列称为DATE
。我希望每当该表中的一行或多行具有DATE <= current system time
时执行查询,对数据执行一些操作,将一些数据放入另一个表中,并从表EXECUTELATER
中删除此行。
在我的脑海中,有一件事是创建另一个简单的应用程序,与另一个用户一起登录,以每毫秒查询一次,并检查是否有DATE
匹配,但这听起来很荒谬。
有没有一种方法可以在网络应用程序中做到这一点?有人能给我一个聪明的方法吗?我不介意我是否必须使用完整的SQL日期格式或以长类型存储日期,使用web应用程序,创建一个新的应用程序,使用SQL Server本身或其他什么。
对于这个结构不好的问题,我再次感到抱歉,我不知道如何把它组合在一起。感谢您的检查!
您可以使用以下触发器:
create TRIGGER [dbo].[TrgX]
ON [dbo].[EXECUTELATER]
AFTER UPDATE,insert
AS
BEGIN
SET NOCOUNT ON;
update [dbo].[tblx]
set [columnx] = x
from inserted i
inner join [dbo].[tblx] p on i.[Relatedcoulumn] = p.Relatedcoulumn
where i.[Date] >= getdate()
END