繁体   English   中英

如何在SQL中跟踪记录并在达到特定条件时采取一些措施?

[英]How to track records in SQL and do some actions if it achieved a specific condition?

假设我在SQL数据库中有设备表和MaintenanceSchedule表。

因此,如果接近MaintenanceSchedule表中的Date字段,我需要将Equipment表中Notification (位)字段的值更新为true。

因此,如何跟踪某些存储在数据库中的数据并在达到特定条件时采取一些措施?

您可能应该使用sql作业来完成此任务。 问题是您希望该过程在失败的情况下具有弹性。

如果仅在接近“日期”字段后设置标志,则可能会出现一些错误。 例如,假设该作业由于某种原因未运行。 如果您在第二天运行该作业,则可以确定未正确设置该标志,然后由执行通知的过程(或完成的任何处理)将其取消设置。 如果再次设置,它是否可以重复工作?

最好创建一个MaintenanceHistory表,该表在每次设置Notification位时记录一次。 然后,您可以构建一个存储过程来运行作业,以检查是否已为特定的Date设置了Notification位,如果没有,请将该位设置并记录到历史记录表中。

然后,您可以将其安排为仅执行此过程的作业,并设置为以所需的频率运行(每小时,每天,每月或其他时间)。 使用这种类型的实现,您可以根据需要多次运行该作业,因为它不会在同一日期重新运行。

我将创建一个sql server作业来检查维护窗口是否已取消并相应地设置标志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM