我的表中有几个审计列:
- 修改者
- 修改日期
我设置了一个 AFTER 触发器,以便在插入或修改数据时自动更新这些列,分别使用 current_user 和 current_timestamp 。
将这些添加为默认列值是否有任何好处(我假设没有考虑到触发器已处理插入)?
我的表中有几个审计列:
我设置了一个 AFTER 触发器,以便在插入或修改数据时自动更新这些列,分别使用 current_user 和 current_timestamp 。
将这些添加为默认列值是否有任何好处(我假设没有考虑到触发器已处理插入)?
这对于触发器来说是行不通的
AFTER
。您需要一个触发器来在添加行之前BEFORE
对其进行修改。那么您无需担心值,因为在触发器运行后会检查约束和可为空性。此外,在插入行之后对其进行修改比在插入之前调整行的成本要高得多。DEFAULT
BEFORE