Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE tbl (
- id INT,
- sort_order INT
- );
- WITH updated_order(id, new_sort_order) AS (
- SELECT
- id,
- row_number() OVER (ORDER BY tbl.sort_order NULLS FIRST)
- FROM tbl
- )
- UPDATE tbl
- SET sort_order = updated_order.new_sort_order
- FROM updated_order
- WHERE tbl.id = updated_order.id
- AND tbl.sort_order IS DISTINCT FROM updated_order.new_sort_order;
Add Comment
Please, Sign In to add comment