在postgresql中更新返回订单

时间:2014-09-03 17:06:27

标签: postgresql

我有一个查询更新表中的行。我希望查询更新行并返回受影响的行。

目前我有

UPDATE employees SET name = 'John' RETURNING employees.*;

这很好用。但是,如果我想以指定的顺序返回受影响的行,该怎么办?像

这样的东西
UPDATE employees SET name = 'John' RETURNING employees.* ORDER BY name ASC;

这不起作用。有人有个好主意吗?

1 个答案:

答案 0 :(得分:20)

这可以使用数据修改CTE(公用表表达式)来完成:

with updated as (
    UPDATE employees 
        SET name = 'John' 
    RETURNING *
)
select *
from updated
ORDER BY empname ASC;