您将如何创建一个触发器,该触发器首先使用要计算的插入行的值,以便转换插入的值?
假设我有这张桌子labor_rates
,
+---------------+-----------------+--------------+------------+
| 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 |
+---------------+-----------------+--------------+----------------------------+
有人可能会争辩说,这应该保留为计算字段,而不是存储计算值。但在这种情况下,最好存储计算值。
我对触发器相当陌生,因此非常感谢任何帮助。