Guest User

Untitled

a guest
Jan 18th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. CREATE TABLE tbl (
  2. id INT,
  3. sort_order INT
  4. );
  5.  
  6. WITH updated_order(id, new_sort_order) AS (
  7. SELECT
  8. id,
  9. row_number() OVER (ORDER BY tbl.sort_order NULLS FIRST)
  10. FROM tbl
  11. )
  12. UPDATE tbl
  13. SET sort_order = updated_order.new_sort_order
  14. FROM updated_order
  15. WHERE tbl.id = updated_order.id
  16. AND tbl.sort_order IS DISTINCT FROM updated_order.new_sort_order;
Add Comment
Please, Sign In to add comment