在postgres / CRON中创建触发器

时间:2020-08-25 16:55:00

标签: php postgresql server triggers

我正在使用postgresql,以前从未创建过触发器/过程。

我有一个表,其中包含一个人的活动,状态和ID。

我需要的是这样的: 假设Lunch_time是“表Person”中的一列,并且包含如下数据:11:00 am。

When now() = lunch_time then UPDATE status.

我一直在寻找一个使用cron的示例,该示例每分钟执行一次php脚本,但我担心服务器会增压。

有一种简单的方法吗?谢谢大家。

1 个答案:

答案 0 :(得分:0)

假设您有一个表T1 (id , status , activity , person_id)和人员表为Person( person_id , lunch_time)。您不必创建每分钟的数据,而只需创建一个视图,然后选择该view。 该视图应如下所示:

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,因此您可以考虑将截断/修剪时间设置为分钟/小时,具体取决于您的convenience