2012-05-23 56 views
0

在postgresql 8.4.11中,此觸發器不起作用。更新後,字段modified_date不會更新。NEW運算符在postgresql中的觸發器後不起作用

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(); 

如何解決此問題? 謝謝。

回答

2

因爲被激發,那麼你不能在觸發更改值,值已經持續。

您需要將其更改爲BEFORE UPDATE觸發器。

+0

+1因爲比我快:) – dezso

0

使觸發器在更新之前觸發,而不是之後。