我有一些postgresql表,我想知道是否有可能计算更新行的数量?
更清楚的是能够计算表上可能发生的更新次数。
答案 0 :(得分:4)
例如,使用RETURNING
:
DROP TABLE IF EXISTS t;
CREATE TABLE t(i INT);
INSERT INTO t(i) VALUES (1),(2),(3);
WITH cte AS
(
UPDATE t
SET i = i * 10
WHERE i > 1
RETURNING *
)
SELECT COUNT(*) AS num_of_rows_updated
FROM cte;
<强> Rextester Demo 强>
答案 1 :(得分:0)
这些扩展可能会有所帮助: https://www.postgresql.org/docs/9.6/static/pgstatstatements.html 然后查询如下: 从pg_stat_statements中选择计数(),其中查询〜&#39;更新。* your_table&#39 ;; 可能会提供你想要的东西。