Postgres WITH Queries

时间:2016-03-25 02:15:08

标签: sql postgresql common-table-expression

为简单起见,假设我的表有一列,其中total是一个整数。在这里,我希望foo子查询将总数增加1,并将数值减1,从而产生相同的起始值。但是,当我运行此查询时,总值会递增。为什么会这样,我该如何解决这个问题?

WITH 
foo AS (
UPDATE table SET total = total - 1 WHERE id = 10
RETURNING *
),
bar AS (
UPDATE table SET total = total + 1 WHERE id = 10
RETURNING *
)
SELECT * FROM table

0 个答案:

没有答案