0

我正在创建一个图书馆系统。

预订一本书时,如果预订的用户不借书,我希望它在 3 天内自动将状态更改回“可用”。

我可以创建一个触发器以在状态更改为“已保留”时触发,但我无法在 3 天内创建一个工作并将状态更改回“可用”

任何意见、建议和指导将不胜感激:)

4

2 回答 2

3

您应该首先创建一个过程来根据需要更新列,将 book id(或其他任何 PK)作为输入参数。

在您的触发器中,调用 dbms_scheduler 包的提交过程并将开始日期定义为 3 天时间,没有冗余,并使用 :new.bookid 作为输入参数运行您之前定义的过程。

稍后提交事务后,将提交作业。否则,在事务回滚的情况下,作业也将回滚。

尼古拉斯。

于 2010-06-27T19:24:43.240 回答
1

你用什么语言编码?

通常,对于这样的事情,我会编写一个定期运行的 cron 作业(每天在图书馆营业时间之前运行一次?),进行查询以查看保留超过 3 天的所有内容,然后将其设置回可用状态。

于 2010-06-27T18:11:16.703 回答