SQL Server自动更新列
本文关键字:更新 Server SQL | 更新日期: 2023-09-27 18:16:56
在SQL Server数据库中,我有一个表,有2列,Status
和ExpiryDate
。
我想要一种机制,当ExpiryDate
结束时,将Status
变为Expired
,并向电子邮件地址发送邮件通知。
UPDATE table
SET Status = 'expired'
WHERE ExpiryDate < GETDATE()
我知道如何通过c#代码实现它,但是我如何使它自动化呢?
像每天脚本执行和启动电子邮件发送过程?是触发还是别的什么?有人能帮我找到合适的术语和一些关于实现的见解吗?
使用存储过程(调度作为作业)来更新表和发送电子邮件。
要配置电子邮件选项,请转到对象资源管理器的管理部分,右键单击数据库邮件,然后单击配置数据库邮件。
然后利用sp_send_dbmail
系统存储过程发送邮件。
创建执行
的存储过程UPDATE table
SET Status = 'expired'
WHERE ExpiryDate < GETDATE()
然后在SQL Server的SQL Server代理节点下,创建一个按照您需要的时间表运行的作业。
确保在您的存储过程中也使用sp_send_dbmail
- https://msdn.microsoft.com/en-us/library/ms190307.aspx来发送您的电子邮件。