我正在使用 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,因此您可以根据您的方便考虑将时间截断/修剪为分钟/小时。
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消