更新时 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 *;
这是我的 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 *;