Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

किसी आइटम का क्रम बदलने के लिए अद्यतन SQL उत्पन्न करें?

आपको 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
  • मूल और नए पदों के ऊपर या नीचे कुछ भी बदलने की आवश्यकता नहीं है।
  • बाकी सब कुछ ऊपर या नीचे जाता है।
  • मूल आइटम को छोड़कर, जो नई स्थिति में चला जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर - शामिल होने की आवश्यकता है लेकिन जहां समान नहीं है

  2. SQL में डिलीट स्टेटमेंट बहुत धीमा है

  3. एक कॉलम मान को कई कॉलम मानों में विभाजित करें

  4. प्रोग्राम के रूप में SQL सर्वर CE डेटाबेस फ़ाइल बनाएँ

  5. SQL सर्वर में ORIGINAL_DB_NAME () कैसे काम करता है