我刚刚发现如果没有行受到影响,语句触发器也会被执行。有趣的是-但无论如何-有没有一种方法可以让没有行受到影响,或者至少如果任何行受到影响?触发器在insert语句之后。
1zmg4dgp1#
您可以使用以下命令:
SELECT count(*) FROM mytable WHERE xmin::text::bigint = txid_current();
字符串这将把在同一个事务中创建或更新的所有行作为触发器。当然,如果在同一个事务中对同一个表有更多的修改,这将不会返回所需的结果。你甚至可以创建一个索引来加速查询:
CREATE INDEX ON mytable ((xmin::text::bigint));
型
1条答案
按热度按时间1zmg4dgp1#
您可以使用以下命令:
字符串
这将把在同一个事务中创建或更新的所有行作为触发器。当然,如果在同一个事务中对同一个表有更多的修改,这将不会返回所需的结果。
你甚至可以创建一个索引来加速查询:
型