为了账号安全,请及时绑定邮箱和手机立即绑定

在 postgres / CRON 中创建触发器

在 postgres / CRON 中创建触发器

PHP
月关宝盒 2023-11-03 15:48:20
我正在使用 postgresql,之前从未创建过触发器/过程。我有一张表,其中包含一个人的活动、状态和 ID。我需要的是这样的:假设lunch_time是来自表Person的一列,并且包含如下数据:上午11:00。When now() = lunch_time then UPDATE status.我一直在寻找一个使用 cron 的示例,该示例每分钟执行一个 php 脚本,但我担心服务器会增压。有一种简单的方法吗?多谢你们。
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

假设您有一个表T1 (id , status , activity , person_id)和人员表Person( person_id , lunch_time)。您可以简单地创建一个视图,然后选择该视图,而不是每分钟更新一次数据。视图应该看起来像这样:

CREATE VIEW T1_with_lunch_status AS

SELECT T1.id ,

       case when now() = lunch_time then 'Its lunch time' else 'Working Time' end as status,

T1.activity , T1.person_id

FROM T1

INNER JOIN Person P on (P.person_id = T1.person_id) ;

请注意,我使用的是更严格的连接,您应该根据您的数据库设计和条件使用连接类型,例如now() = lunch_time仅当确切的时间匹配时才会返回 true,因此您可以根据您的方便考虑将时间截断/修剪为分钟/小时。



查看完整回答
反对 回复 2023-11-03
  • 1 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信