我正在创建一个图书馆系统。
预订一本书时,如果预订的用户不借书,我希望它在 3 天内自动将状态更改回“可用”。
我可以创建一个触发器以在状态更改为“已保留”时触发,但我无法在 3 天内创建一个工作并将状态更改回“可用”
任何意见、建议和指导将不胜感激:)
我正在创建一个图书馆系统。
预订一本书时,如果预订的用户不借书,我希望它在 3 天内自动将状态更改回“可用”。
我可以创建一个触发器以在状态更改为“已保留”时触发,但我无法在 3 天内创建一个工作并将状态更改回“可用”
任何意见、建议和指导将不胜感激:)
您应该首先创建一个过程来根据需要更新列,将 book id(或其他任何 PK)作为输入参数。
在您的触发器中,调用 dbms_scheduler 包的提交过程并将开始日期定义为 3 天时间,没有冗余,并使用 :new.bookid 作为输入参数运行您之前定义的过程。
稍后提交事务后,将提交作业。否则,在事务回滚的情况下,作业也将回滚。
尼古拉斯。
你用什么语言编码?
通常,对于这样的事情,我会编写一个定期运行的 cron 作业(每天在图书馆营业时间之前运行一次?),进行查询以查看保留超过 3 天的所有内容,然后将其设置回可用状态。