我可以使用return子句运行更新查询并限制返回的行吗?例如,我运行一个udate查询,它更新了一百万条记录,但我不想将更新的百万行返回到结果集..只是一个样本说1000条记录。这可能吗?
我的查询:
UPDATE table1 SET col1 = value1 RETURNING *
我希望更新列数,并在更新后获取1000行示例。
答案 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;