更新时 postgresql 触发 select 值

postgresql trigger to select values when update

这是我的 Table 叫 table_abc:

我需要编写一个触发器,以便在更新此 table 时触发 Select 查询以检索更新的记录。

postgresql中,触发器必须通过存储过程。

所以,我在我的程序中使用了 table 作为 return 类型,但我收到错误消息,因为 table return 类型是不允许的。谁能帮我写这个 trigger/procedure?

//procedure:
CREATE FUNCTION abc() RETURNS trigger AS $abc$
    BEGIN
        //here i want write a QUERY to rerieve updated row details when updating table_abc
    END;
$abc$ LANGUAGE plpgsql;

//trigger
CREATE TRIGGER abc BEFORE UPDATE ON table_abc
    FOR EACH ROW EXECUTE PROCEDURE abc();

//update query:
UPDATE table_abc SET x=7,y=8 WHERE id=2;

你不需要触发器,只需使用:

UPDATE table_abc 
   SET x=7,
       y=8 
WHERE id=2
RETURNING *;