sql >> Databasteknik >  >> RDS >> PostgreSQL

Uppdatera flera rader i samma fråga med PostgreSQL

Du kan också använda update ... from syntax och använd en mappningstabell. Om du vill uppdatera mer än en kolumn är det mycket mer generaliserbart:

update test as t set
    column_a = c.column_a
from (values
    ('123', 1),
    ('345', 2)  
) as c(column_b, column_a) 
where c.column_b = t.column_b;

Du kan lägga till så många kolumner du vill:

update test as t set
    column_a = c.column_a,
    column_c = c.column_c
from (values
    ('123', 1, '---'),
    ('345', 2, '+++')  
) as c(column_b, column_a, column_c) 
where c.column_b = t.column_b;

sql fioldemo



  1. Eliminera dubbletter av värden baserat på endast en kolumn i tabellen

  2. Villkorlig delad transformation:Exportera data från SQL Server till Oracle- och MySQL-databaser

  3. Hur man jämför två tabeller i MySQL

  4. Mekanismer för att spåra DB-schemaändringar