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

Dynamisk upsert i postgresql

Som en alternativ tilgang kan du lave en upsert uden en funktion ved at bruge en insert + update med where-klausuler for at få dem til kun at lykkes i det rigtige tilfælde. F.eks.

update mytable set col1='value1' where (col2 = 'myId');
insert into mytable select 'value1', 'myId' where not exists (select 1 from mytable where col2='myId');

Hvilket ville undgå at have masser af tilpassede postgres-specifikke funktioner.



  1. Skinner og MySQL-syntaksfejl med flere SQL-sætninger i en eksekveringsblok

  2. Sådan forhindrer du opdateringer til en tabel, med en undtagelse for én situation

  3. Indsættelse af mm/dd/åååå formatdatoer i MySQL

  4. Returner en liste over databasemail-profiler i SQL Server (T-SQL)