Postgresql 如何创建计算值的Postgres触发器
如何创建一个触发器,首先使用要插入的行的值进行计算,以便转换要插入的值 假设我有这个表Postgresql 如何创建计算值的Postgres触发器,postgresql,triggers,postgresql-9.6,Postgresql,Triggers,Postgresql 9.6,如何创建一个触发器,首先使用要插入的行的值进行计算,以便转换要插入的值 假设我有这个表人工费率 +---------------+-----------------+--------------+------------+ | labor_rate_id | rate_per_minute | unit_minutes | created_at | +---------------+-----------------+--------------+------------+ | bigint
人工费率
+---------------+-----------------+--------------+------------+
| labor_rate_id | rate_per_minute | unit_minutes | created_at |
+---------------+-----------------+--------------+------------+
| bigint | numeric | numeric | timestamp |
+---------------+-----------------+--------------+------------+
每次创建新记录时,我需要将速率计算为rate/unit
(这里最小的单位是一分钟)
例如,插入新记录时:
INSERT INTO labor_rates(rate, unit)
VALUES (60, 480);
它将创建具有以下值的新记录:
+---------------+-----------------+--------------+----------------------------+
| labor_rate_id | rate_per_minute | unit_minutes | created_at |
+---------------+-----------------+--------------+----------------------------+
| 1000000 | 1.1979 | 60 | 2017-03-16 01:59:47.208111 |
+---------------+-----------------+--------------+----------------------------+
有人可能会争辩说,这应该作为一个计算字段,而不是存储计算值。但在这种情况下,最好存储计算值
我对触发器还比较陌生,因此非常感谢您的帮助。可能重复的可能重复的