sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL multi-värde upserts

Multi-valued upsert är definitivt möjligt, och en betydande del av varför infoga ... om konflikt ... implementerades.

CREATE TABLE table1(col1 int, col2 text, constraint theconstraint unique(col1));

INSERT INTO table1 VALUES (1, 'parrot'), (4, 'turkey');

INSERT INTO table1 VALUES (1, 'foo'), (2,'bar'), (3,'baz')
ON CONFLICT ON CONSTRAINT theconstraint
DO UPDATE SET col2 = EXCLUDED.col2;

resulterar i

regress=> SELECT * FROM table1 ORDER BY col1;
 col1 | col2 
------+------
    1 | foo
    2 | bar
    3 | baz
    4 | turkey
(4 rows)

Om dokumenten var otydliga, skicka in lämplig feedback till pgsql-general e-postlistan. Eller ännu bättre, föreslå en patch till dokumenten.



  1. Vad är korrekt JDBC URL-syntax om Oracle-plånböcker används?

  2. Hur hittar man i Django en term som är en del av en sträng istället för att innehålla den strängen?

  3. Analysera ett datum från oformaterad text i SQL

  4. ta bort dubbletter i sql och ändra relationstabellen därefter