Postgresql“更新查询返回*”的限制

时间:2016-05-05 06:12:44

标签: database postgresql jdbc limit

我可以使用return子句运行更新查询并限制返回的行吗?例如,我运行一个udate查询,它更新了一百万条记录,但我不想将更新的百万行返回到结果集..只是一个样本说1000条记录。这可能吗?

我的查询:

UPDATE table1 SET col1 = value1 RETURNING *

我希望更新列数,并在更新后获取1000行示例。

1 个答案:

答案 0 :(得分:3)

with updated as (
  update the_table_with_many_rows
     set some_column = 42
  where ...
  returning *
)
select u.*, 
       count(*) over () as total_update_count
from updated as u
limit 1000;