C# SQL Server自动更新列
在SQL Server数据库中,我有一个包含两列的表,C# SQL Server自动更新列,c#,sql-server,C#,Sql Server,在SQL Server数据库中,我有一个包含两列的表,Status和ExpiryDate 我需要一种机制,当ExpiryDate结束时,将状态转换为过期,并希望向电子邮件地址发送邮件通知 UPDATE table SET Status = 'expired' WHERE ExpiryDate < GETDATE() 更新表 设置状态='过期' 其中ExpiryDate
Status
和ExpiryDate
我需要一种机制,当ExpiryDate
结束时,将状态
转换为过期
,并希望向电子邮件地址发送邮件通知
UPDATE table
SET Status = 'expired'
WHERE ExpiryDate < GETDATE()
更新表
设置状态='过期'
其中ExpiryDate
我知道如何通过C#代码实现,但如何实现自动化
就像脚本每天执行和启动电子邮件发送过程一样?
它是触发器还是其他什么?是否有人可以帮助您获得正确的术语和有关实现的一些见解?使用存储过程(计划为作业)更新表并发送电子邮件
要配置电子邮件选项,请转到对象资源管理器中的“管理”部分,右键单击“数据库邮件”,然后单击“配置数据库邮件”
然后利用系统存储过程发送邮件 创建执行以下操作的存储过程
UPDATE table
SET Status = 'expired'
WHERE ExpiryDate < GETDATE()
更新表
设置状态='过期'
其中ExpiryDate
然后,在SQL Server中的SQL Server代理节点下,创建一个按所需计划运行的作业
确保在存储过程中也使用
sp\u send\u dbmail
发送电子邮件。SQL Server代理作业?它必须在数据库中吗?您可以编写一个作为windows任务或完整windows服务运行的控制台应用程序来执行此操作。是否有原因不能使用触发器执行此操作?