आपको ID
. की भी आवश्यकता नहीं है पैरामीटर।
UPDATE
yourTable
SET
Order = (CASE WHEN Order = @oldOrder THEN @newOrder
WHEN @newOrder > @oldOrder THEN Order - 1
ELSE Order + 1 END)
WHERE
Order BETWEEN @oldOrder AND @newOrder
OR Order BETWEEN @newOrder AND @oldOrder
- मूल और नए पदों के ऊपर या नीचे कुछ भी बदलने की आवश्यकता नहीं है।
- बाकी सब कुछ ऊपर या नीचे जाता है।
- मूल आइटम को छोड़कर, जो नई स्थिति में चला जाता है।