sql-server - 当表中的日期列 <= 当前日期时,有没有办法让 ASP.NET MVC Web 应用程序在 SQL Server 上执行查询
问题描述
我的问题很混乱,但我的意思基本上是这样的:假设我有一个名为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
推荐阅读
- php - 用数组选择喜欢的地方
- angular - 在 Angular 5 中重用 html 内容
- javascript - 无法解码来自 Websocket 的消息
- android - 下载android sdk时出现错误
- java - 具有不同依赖关系的两种实现的最大可重用性
- python - 在python中存储和查询序列
- reactjs - cloneElement:类型与 Partial 类型没有共同的属性
& 属性
- r - 将坐标从英国国家网格(东、北)转换为 WGS84 Lat Lon
- python-3.x - 多个 pipenv 环境
- java - 在根项目中找不到项目“sonarqube-Dsonar.host.url=http”