sql >> Database teknologi >  >> RDS >> PostgreSQL

Opdater flere rækker i samme forespørgsel ved hjælp af PostgreSQL

Du kan også bruge update ... from syntaks og brug en kortlægningstabel. Hvis du vil opdatere mere end én kolonne, er det meget mere 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 tilføje så mange kolonner, som du vil:

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 violindemo



  1. Hent database eller enhver anden fil fra det interne lager ved hjælp af run-as

  2. Sådan designes en geografisk distribueret MariaDB-klynge

  3. Kan ikke oprette forbindelse til lokal MySQL-server via socket '/tmp/mysql.sock

  4. Få alle tabelnavne på en bestemt database ved hjælp af SQL-forespørgsel?