在postgresql中更新返回订单

Kev*_*gol 10 postgresql

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

目前我有

UPDATE employees SET name = 'John' RETURNING employees.*;
Run Code Online (Sandbox Code Playgroud)

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

UPDATE employees SET name = 'John' RETURNING employees.* ORDER BY name ASC;
Run Code Online (Sandbox Code Playgroud)

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

a_h*_*ame 24

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

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

  • 太棒了!!!有用。谢谢。如果可以的话我会投一千票。 (2认同)