Bonjour,

Je voudrais savoir s'il est possible de reproduire la commande "INSERT ... ON DUPLICATE KEY" de mySQL avec un moteur PostgreSQL.
Si oui, comment ?

En fait, j'ai essayé avec une règle mais ça met à jour toute ma table:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
CREATE RULE dup AS ON INSERT TO test_duplicate_key WHERE (new.no_key IN (SELECT DISTINCT test_duplicate_key.no_key FROM test_duplicate_key ORDER BY test_duplicate_key.no_key)) DO INSTEAD UPDATE test_duplicate_key SET lib_key = 'test de maj réussi'::text;
Je n'arrive pas à spécifier dans ma règle que l'update doit se faire uniquement pour la no_key à insérer et pas pour toutes les no_key.
Il semble que ma "new.no_key" ne prenne pas qu'une seule valeur.

Est-ce que quelqu'un peut m'aider ?