我正在为一个系统设计一个数据库,在该系统中,定期、自定义的时间间隔发生计费。因为可以自定义间隔,所以我需要能够定期处理账单,甚至可能每天。我希望这是数据库本身的一个功能,这样界面就不需要管理它,这可能是有问题的。
我知道数据库触发器通常使用 DML 语句。有没有办法在 MySQL、PostgreSQL 或 Oracle 中创建触发器或自动函数,以便能够每天处理帐单,而无需使用数据库外部的任何东西来触发它?
我正在为一个系统设计一个数据库,在该系统中,定期、自定义的时间间隔发生计费。因为可以自定义间隔,所以我需要能够定期处理账单,甚至可能每天。我希望这是数据库本身的一个功能,这样界面就不需要管理它,这可能是有问题的。
我知道数据库触发器通常使用 DML 语句。有没有办法在 MySQL、PostgreSQL 或 Oracle 中创建触发器或自动函数,以便能够每天处理帐单,而无需使用数据库外部的任何东西来触发它?
使用 oracle,您将使用dbms_scheduler 包
对于 MySQL,Event Scheduler似乎做了类似的事情(取自 Nicos 评论)
不会有适用于所有这些数据库的单一解决方案。如果你需要跨平台的东西,你可能会尝试一个操作系统解决方案,比如unix 上的 cron或基于你开发的系统上存在的其他语言的东西。例如用于 Java 的 Quartz 调度程序