我发现如果没有行受影响,也会执行语句触发器。 有意思 - 但无论如何 - 有没有办法让行没有受到影响,或者至少是否有任何行受到影响?
触发器在insert,statement之后。
谢谢!
答案 0 :(得分:3)
您可以使用以下内容:
SELECT count(*)
FROM mytable
WHERE xmin::text::bigint = txid_current();
这将计算在与触发器相同的事务中创建或更新的所有行。当然,如果在同一个事务中对同一个表进行了更多修改,那么这将不会返回所需的结果。
您甚至可以创建索引来加速查询:
CREATE INDEX ON mytable ((xmin::text::bigint));