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

Apakah mungkin untuk melakukan banyak pembaruan dengan satu pernyataan SQL UPDATE?

Anda dapat menggunakan satu pernyataan dan beberapa pernyataan kasus

update tbl
  set title = 
    case
      when title in ('a-1', 'a.1') then 'a1'
      when title in ('b-1', 'b.1') then 'b1'
      else title
    end

Tentu saja, ini akan menyebabkan penulisan pada setiap record, dan dengan indeks, ini dapat menjadi masalah, sehingga Anda dapat memfilter hanya baris yang ingin Anda ubah:

update tbl
  set title = 
    case
      when title in ('a-1', 'a.1') then 'a1'
      when title in ('b-1', 'b.1') then 'b1'
      else title
    end
where
  title in ('a.1', 'b.1', 'a-1', 'b-1')

Itu akan mengurangi jumlah penulisan ke tabel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 Cara Mendaftar Semua Fungsi Bernilai Tabel di Database SQL Server

  2. SQL Server 2016 – Pengantar Peregangan Database

  3. Bagaimana cara mengubah nilai kolom identitas secara terprogram?

  4. Bagaimana SHOWPLAN_XML Bekerja di SQL Server

  5. Konversi Nama Bulan ke Nomor Bulan di SQL Server (T-SQL)