postgresql Postgres:获取语句触发器中受影响的行数

nwo49xxi  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(189)

我刚刚发现如果没有行受到影响,语句触发器也会被执行。有趣的是-但无论如何-有没有一种方法可以让没有行受到影响,或者至少如果任何行受到影响?
触发器在insert语句之后。

1zmg4dgp

1zmg4dgp1#

您可以使用以下命令:

SELECT count(*)
FROM mytable
WHERE xmin::text::bigint = txid_current();

字符串
这将把在同一个事务中创建或更新的所有行作为触发器。当然,如果在同一个事务中对同一个表有更多的修改,这将不会返回所需的结果。
你甚至可以创建一个索引来加速查询:

CREATE INDEX ON mytable ((xmin::text::bigint));

相关问题