【发布时间】:2017-11-20 11:00:39
【问题描述】:
您好专家我在银行软件供应商公司工作,由于办公时间(选择时间)的工作负载,我们正在使用 PostgreSQL 数据库我想在指定时间(下班时间)使用触发器执行某些功能。因此,如果您有任何想法,请帮助我。
【问题讨论】:
-
解决方案有点味道。但是在您的触发器中放置一个 if 语句,检查当前时间,如果 11pm 例如继续它,否则不要。我认为这很危险,因为对于一个记录,触发器会触发,而对于其他记录则不会,因此有些行通过触发器修改了数据,而有些则没有。结果不是幂等的,除非您正在修复之前遗漏的所有行。如果是这种情况,为什么不安排一个 sql 每天触发一次
-
触发器将 NEW.PK_COLUMN 保存到 SCHEDULED 表中。然后安排一个作业,该作业将在需要的时间通过 SCHEDULED 表,处理 id 并将它们从 SCHEDULED 表中删除。当然它只在线性变化的情况下才有效。
标签: sql postgresql postgresql-9.4 pgadmin rails-postgresql