【发布时间】:2015-02-27 09:19:17
【问题描述】:
我是 PostgreSQL 新手,发现一个触发器完全符合我的目的,除了一件小事。触发器非常通用,可以跨不同的表运行并记录不同的字段更改。我找到了here。
我现在需要做的是测试一个特定字段,该字段会随着触发器触发的表的变化而变化。我想过使用substr,因为所有列都将具有相同的名称格式,例如XXX_cust_no 但 XXX 可以更改为 2 或 4 个字符。我需要在写入history_ / audit 表的每条记录中记录XXX_cust_no 字段中的值。使用一堆 IF / ELSE 语句来完成这不是我想做的事情。
现在工作的触发器记录table_name、column_name、old_value、new_value。但是,我还需要记录已更改记录的XXX_cust_no。
【问题讨论】:
-
IIRC 您现在可以使用
EXECUTE从OLD或NEW动态提取字段。
标签: postgresql triggers plpgsql dynamic-sql