0
|
Jose Antonio Piedehierro Arias · 技术社区 · 3 年前 |
|
1
1
此触发器定义仅在UPDATE命令中将列(net_amount)和(iva_amount)指定为目标时执行函数(modify_amount):
如果列(net_amount)、(iva_amount)实际上更改了值,则此表单仅执行函数(modify_amount):
|
![]() |
2
1
您可以在更新特定字段后创建触发器 https://www.postgresql.org/docs/14/sql-createtrigger.html
在触发器内更新另一个表中的总和不是一个好主意(它将业务逻辑移动到触发器中,并且不保存)。 版本1
版本2
COALESCE 总和 需要确保,即使发票没有头寸,金额也将计算为0。 COALESCE 哪里 因为在插入操作期间没有OLD.invoice_id,并且在删除操作期间没有NEW.invoice_id。 我的假设是invoice_id不能更改。如果没有,那么将仓位从一张发票移动到另一张发票应该会更新旧发票和新发票。 |