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

memperbarui beberapa kolom menggunakan pernyataan kasus di sql server

Anda harus menukar sintaks. Pernyataan kasus akan diterapkan untuk setiap nilai yang ingin Anda perbarui...

UPDATE table SET
    pay1 = CASE WHEN @columnname IN('name1') THEN pay1 * 100 ELSE pay1 END,
    pay2 = CASE WHEN @columnname IN('name1', 'name2') THEN pay2 * 20 ELSE pay2 END,
    pay3 = CASE WHEN @columnname IN('name1', 'name2', 'name3') THEN pay3 * 100 ELSE pay3 END

Sepertinya yang Anda inginkan adalah pernyataan if....

IF @columnname = 'name1'
    UPDATE table SET pay1 = pay1 * 100, pay2=pay2*20, pay3=pay3* 100

ELSE IF @ColumnName = 'name2'
    UPDATE table SET pay2 = pay2 * 20, pay3 = pay3 * 100

ELSE IF @ColumnName = 'name3'
    UPDATE table SET pay3 = pay3 * 100

Semoga membantu



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Saat menghapus kaskade untuk tabel referensi sendiri

  2. Cara mengimpor file bak ke SQL Server Express

  3. 2 Cara Mendaftar Semua Fungsi Bernilai Tabel di Database SQL Server

  4. PILIH KE variabel tabel di T-SQL

  5. Temukan, Prioritaskan, dan Selesaikan Masalah SQL Server Dalam Beberapa Menit