我刚刚发现如果没有行受到影响,语句触发器也会执行。 有趣 - 但无论如何 - 有没有办法让行不受影响,或者至少有任何行受到影响?
触发器在插入、语句之后。
谢谢!
最佳答案
您可以使用以下内容:
SELECT count(*)
FROM mytable
WHERE xmin::text::bigint = txid_current();
这将计算在与触发器相同的事务中创建或更新的所有行。当然,如果在同一个事务中对同一个表进行多次修改,那将不会返回想要的结果。
您甚至可以创建一个索引来加速该查询:
CREATE INDEX ON mytable ((xmin::text::bigint));
关于postgresql - Postgres : Get numbers of affected rows in statement trigger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537253/