我希望我的数据库在拍卖结束日期到期时自动将拍卖状态更新为“已关闭”。与此同时,我需要产品(已经处于“拍卖”状态)转回状态“正常”。什么是最好的方法?我饶有不同的东西,但需要你的专业意见。
答案 0 :(得分:0)
这实际上取决于您使用的数据库类型。这种“业务逻辑”通常在应用程序中完成。
但是,在数据库级别,您可以通过始终读取的视图来实现此目的。这样您就可以在数据库中移动业务逻辑,但可以模拟您想要的任何条件。例如。如果end_date小于实际日期(sysdate for Oracle),则视图将返回“closed”。
答案 1 :(得分:0)
假设您使用的是MS SQL Server(标准版或更高版本):
您可以使用SQL Server代理来安排SQL命令(否则使用sqlcmd icm作为调度程序)。
然后调用存储过程为您执行这些更新查询。
如果要防止对数据库进行过多的轮询,您还可以检索任何项目的下一个超时时刻,并且只在该时间过去时执行存储过程的(剩余部分)。