首页 > 解决方案 > 当表中的日期列 <= 当前日期时,有没有办法让 ASP.NET MVC Web 应用程序在 SQL Server 上执行查询

问题描述

我的问题很混乱,但我的意思基本上是这样的:假设我有一个名为EXECUTELATER(在我的应用程序的 SQL Server 数据库中)的表,并且我有一个名为DATE. 我想每当该表中的一行/行有时执行查询DATE <= current system time,对数据做一些事情,将一些数据放在另一个表中并从表中删除这一行EXECUTELATER

我想到的一件事是创建另一个与另一个用户记录的简单应用程序,以每毫秒查询一次并检查是否存在DATE匹配项,但这听起来很荒谬。

有没有办法可以在网络应用程序中做到这一点?谁能建议我一个聪明的方法来完成这项工作?我不介意我是否必须使用完整的 SQL 日期格式或以长类型存储日期、使用 Web 应用程序、为此用途创建一个新应用程序、使用 SQL Server 本身中的某些东西或其他任何东西。

再次为这个结构糟糕的问题感到抱歉,我不知道如何把它放在一起。感谢您的检查!

标签: sql-serverasp.net-mvc

解决方案


您可以使用以下触发器:

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

推荐阅读