sql >> Databáze >  >> RDS >> Sqlserver

Je možné provést více aktualizací jedním příkazem UPDATE SQL?

Můžete použít jeden příkaz a několik případových příkazů

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

To samozřejmě způsobí zápis do každého záznamu a u indexů to může být problém, takže můžete odfiltrovat pouze řádky, které chcete změnit:

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')

Tím se sníží počet zápisů do tabulky.



  1. Vkládání znaků doprostřed řetězce v SQL Server (T-SQL)

  2. Oracle - Jak vytvořit uživatele pouze pro čtení

  3. Spusťte nativní SQL s hibernací

  4. Jak předat heslo do pg_dump?