by marchine [SQLServer] [2020.05.14 17:09:19]
문의사항이 있어서요.
Order number 컬럼 관련해서 문의입니다.
데이터 del_yn을 통해 삭제하여 order number 컬럼 값은 그대로 입니다.
여기서 발생하는 문제인데요. 예를 들어서
1,2,3,4 가 있었는데 3 행을 지우면 1,2,4 가 됩니다.
여기서 행을 삭제 시에 update를 해주고 싶습니다. 1,2 ,4->3 으로요. 어떻게 차례대로 할수있을까요...
기존 값을 업데이트 하는 것 보다는 조회시 원하는 형태로 가공하여 조회하는 것을 추천합니다. SELECT ROW_NUMBER() OVER(ORDER BY order_number) new_order
말씀해주신 방식이 베스트이긴 하나
지금 해당 화면 구조가 handleing을 통해 order를 고정으로 하여 진행 하기에
위에 설명 드린 데이터가 정확히 들어가야 하는 상황입니다.
리스트 ORDER NUMBER가 현재
3,4,1 이런 순으로 되었있는데
2,3,1 이렇게 변경하고싶습니다.
UPDATE t SET order_number = order_number - 1 WHERE order_number > :v_order_number_del ;