sql - 应该更新日期不执行的postgres函数

标签 sql postgresql triggers

我在 PG 8.4 中设置了以下架构 SQLFiddle

我们的想法是编写一个通用函数,以便在更新文章关系或更新研讨会关系时将修改日期设置为当前日期。

我的这座建筑没问题,但该功能似乎并没有真正更新应该更新的日期。这个问题看起来很有趣,但它不是通用功能:Accepted answer.

我应该怎么做才能让它正常工作?

最佳答案

您已使用 AFTER 触发器更新 NEW 行中的值。尝试 BEFORE 触发器:

-- Articles table
CREATE TRIGGER update_articles_modified_date_to_now BEFORE UPDATE
ON articles FOR EACH ROW EXECUTE PROCEDURE 
  update_modified_date_to_now();

-- Workshop table
CREATE TRIGGER update_workshop_modified_date_to_now BEFORE UPDATE
ON workshop FOR EACH ROW EXECUTE PROCEDURE 
  update_modified_date_to_now();

sql fiddle demo

关于sql - 应该更新日期不执行的postgres函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18382036/

相关文章:

json - Postgresql json 列表值提取

mysql - 使用逻辑运算符选择马

sql - 主表和事务表的区别

mysql - 如果行不存在,如何从表中返回计数为 0?

Mysql在插入空白值转换为null后添加触发器

sql - 触发器SQL中指定字母和数字字符串的格式

mysql - SQL多重依赖UPDATE ON,什么最有效?

MySql 查询连接表

python - 将元组存储为模型中的字段

python - POSTGRES - 具有多个连接的高效 SELECT 或 INSERT