Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hasilkan SQL Pembaruan untuk Mengubah Urutan Item?

Anda bahkan tidak memerlukan ID parameter.

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
  • Apa pun di atas atau di bawah posisi asli dan baru tidak perlu diubah.
  • Yang lainnya bergerak naik atau turun.
  • Kecuali item asli, yang berpindah ke posisi baru.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ada apa dengan (nolock) di SQL Server?

  2. Bagaimana cara menggunakan tabel yang dimasukkan\dihapus dalam prosedur tersimpan?

  3. Menjalankan kueri besar di latar belakang MS SQL

  4. bagaimana cara mendeklarasikan variabel global di SQL Server ..?

  5. Panduan untuk CTE di SQL Server