我有一个OrderProduct
表,其中包含以下列和一些数据:
-order_number : ORDER01
-customer_name : Jackie
-order_status : Wait For Payment
-datetime_order_status : 25-01-2020 15:30:00
-datetime_transfer_notify : NULL
如果客户没有在Microsoft SQL中自动将“ order_status”列中的数据从“等待付款”更新为“取消”,则客户需要在24小时内将通知转移到我的订单产品系统中。
我该怎么做?
答案 0 :(得分:0)
我相信最简单的方法是使用SQL Agent job(MS Docs)。这在很大程度上取决于数据库和表的体系结构和大小,但是肯定可以完成工作。根据业务对更新的敏感程度,您可以将作业设置为每1分钟,每5分钟或您希望的任何其他时间间隔运行。如果要执行此操作,则可以按照以下方式使用查询:
UPDATE OrderProduct SET order_state = 'Cancel' WHERE datetime_order_status < DATEADD(DAY, -1, GETDATE()) AND order_status = 'Wait for Payment'
与此同时,我将使用类似SQL Server Management Studio的方法在该服务器上创建一个SQL Agent作业,该作业以您想要的时间间隔运行,类似于this(堆栈溢出)。 Here(Stack Exchange DBA)与您的MySQL问题非常相似,作为参考。