【发布时间】:2017-11-24 09:33:28
【问题描述】:
我正在开发一个市场平台,在该平台上,我将用户余额存储为余额变化表,并在用户行中存储预先计算的值。这让我可以轻松检查他们的余额,但仍会在特定时间间隔重新计算以确保他们保持同步。
以下是余额变化表的示例:
| id | opening_balance | closing_balance | user_id |
|----|-----------------|-----------------|---------|
| 1 | 23.40 | 28.20 | 6 |
| 2 | 14.70 | 11.10 | 79 |
| 3 | 117.12 | 107.12 | 20 |
插入新行时,我想将user_id 关系上的balance 列更新为新插入的closing_balance。
根据我在网上找到的内容,我得到了以下内容,但它适用于 MySQL 而不是 Postgresql。
CREATE TRIGGER balance_update
AFTER INSERT ON balance_history
FOR EACH ROW
BEGIN
UPDATE users
SET balance = NEW.closing_balance
WHERE id = NEW.user_id;
END;
看起来 Postgresql 要求您在创建触发器之前创建一个命名过程?不确定转换它的最佳方法。
【问题讨论】:
标签: postgresql