삭제후 비어있는 Order 변경 방법 0 4 367

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 으로요. 어떻게 차례대로 할수있을까요... 

 

by 마농 [2020.05.14 17:19:37]

기존 값을 업데이트 하는 것 보다는
조회시 원하는 형태로 가공하여 조회하는 것을 추천합니다.
SELECT ROW_NUMBER() OVER(ORDER BY order_number) new_order


by marchine [2020.05.14 17:26:45]

말씀해주신 방식이 베스트이긴 하나 

지금 해당 화면 구조가 handleing을 통해 order를 고정으로 하여 진행 하기에 

위에 설명 드린 데이터가 정확히 들어가야 하는 상황입니다.


by marchine [2020.05.14 17:29:45]

리스트 ORDER NUMBER가 현재 

3,4,1 이런 순으로 되었있는데

2,3,1 이렇게 변경하고싶습니다.


by 마농 [2020.05.14 17:42:49]
UPDATE t
   SET order_number = order_number - 1
 WHERE order_number > :v_order_number_del
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입