PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Upsert dynamique dans postgresql

Comme approche alternative, vous pouvez faire un upsert sans une fonction en utilisant un insert + update avec des clauses where pour les faire réussir uniquement dans le bon cas. Par exemple

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

Ce qui éviterait d'avoir beaucoup de fonctions personnalisées spécifiques à postgres.