0

我希望我的数据库在拍卖结束日期到期时自动将我的拍卖状态更新为“关闭”。同时我需要产品(曾经处于“拍卖”状态的产品)恢复到“正常”状态。最好的方法是什么?我评价不同的东西,但需要你的专业意见。

4

2 回答 2

0

这实际上取决于您使用的数据库类型。这种“业务逻辑”通常在应用程序中完成。

但是,在数据库级别,您可以通过拥有始终读取的视图来实现这一点。这样您可以在数据库中移动业务逻辑,但可以模拟您想要的任何条件。例如,如果 end_date 小于实际日期(Oracle 的 sysdate),视图将返回“关闭”。

于 2013-09-01T20:05:21.590 回答
0

假设您使用的是 MS SQL Server(标准或更高版本):

You can use SQL Server Agent to schedule a SQL command (otherwise use sqlcmd icm a scheduler).

Then call a stored procedure which executes these update queries for you.

If you want to prevent too much polling on the database, you can also retrieve the next timeout moment for any item, and only execute the (remainder of) the stored procedure when it that time has passed.

于 2013-09-01T20:08:45.370 回答