0

在 postgresql 8.4.11 中,此触发器不起作用。更新后,字段 modified_date 不会更新。

CREATE OR REPLACE FUNCTION  upd_date() RETURNS TRIGGER AS $test$
DECLARE
BEGIN
  NEW.modified_date := clock_timestamp();
  RETURN new;
END;
$test$
LANGUAGE 'plpgsql'; 

CREATE TRIGGER myTable_upd_date
after update 
ON myTable
FOR EACH ROW
EXECUTE PROCEDURE upd_date();

如何解决这个问题?谢谢你。

4

2 回答 2

2

您不能在after触发器中更改值,因为它是在值被持久化之后触发的。

您需要将其更改为BEFORE UPDATE触发器。

于 2012-05-23T08:08:58.193 回答
0

在更新之前而不是之后触发触发器。

于 2012-05-23T08:12:55.617 回答