sql >> Database teknologi >  >> RDS >> Sqlserver

Er det muligt at udføre flere opdateringer med en enkelt UPDATE SQL-sætning?

Du kan bruge ét udsagn og et antal sagsudsagn

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

Selvfølgelig vil dette forårsage en skrivning på hver post, og med indekser kan det være et problem, så du kan kun filtrere de rækker fra, du vil ændre:

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

Det vil reducere antallet af skrivninger til tabellen.



  1. hvordan man bruger Blob datatype i Postgres

  2. Sådan forhindrer du databasekorruption i Microsoft Access

  3. Hvilken tidsstempeltype skal jeg vælge i en PostgreSQL-database?

  4. Del 3 – Kunder, opkald og møder