如何在触发器中动态创建作业计划?

时间:2010-06-27 18:06:19

标签: oracle triggers job-scheduling

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

当预订图书时,如果预订用户没有借用图书,我希望它在3天内自动将状态更改回“可用”。

我可以创建一个触发器,当状态更改为“保留”时触发,但是我在3天内创建作业并将状态更改回“可用”时丢失了

任何评论,建议和指导将不胜感激:)

2 个答案:

答案 0 :(得分:3)

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

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

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

尼古拉斯。

答案 1 :(得分:1)

你在用哪种语言编写?

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