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

Upsert dinamico in postgresql

Come approccio alternativo, puoi eseguire un upsert senza una funzione utilizzando un inserto + aggiornamento con le clausole where per far sì che abbiano successo solo nel caso giusto. Es.

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

Il che eviterebbe di avere molte funzioni specifiche postgres personalizzate.