PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 19/07/2017 20:05:51

meley
Membre

Requête automatique lors de l'insertion de nouvelles données

Bonjour,

J'ai une table dans ma base de données qui est alimentée par des CSV via un petit utilitaire. Mon problème est qu'il arrive qu'après un import de CSV il y ait quelques doublons. J'ai une requête SQL pour supprimer mes doublons mais je souhaiterai qu'elle s'exécute à chaque fois qu'une insertion de données ait lieu car pour l'instant je suis obligé de charger manuellement ma requête après chaque import...

Après quelques recherches j'ai vu qu'un trigger pourrait faire ça mais je ne connais absolument pas la chose.

Pourriez vous m'aider ?

Merci

Hors ligne

#2 19/07/2017 22:15:55

gleu
Administrateur

Re : Requête automatique lors de l'insertion de nouvelles données

Je ne suis pas sûr qu'un trigger soit une bonne idée, ça va ralentir chaque insertion dans cette table.

Et sinon, pour les triggers, la documentation est là : http://docs.postgresql.fr/9.6/triggers.html


Guillaume.

Hors ligne

#3 20/07/2017 22:29:25

genamiga
Membre

Re : Requête automatique lors de l'insertion de nouvelles données

Il suffirait de créer une fonction en plpgsql qui serait appelée en fin d'import dans l'utilitaire d'import.

Hors ligne

#4 21/07/2017 08:39:50

arthurr
Membre

Re : Requête automatique lors de l'insertion de nouvelles données

Pourquoi ne pas créer une contrainte sur vos doublons ? A partir de la 9.5, vous avez la possibilité de faire un INSERT ... ON CONFLICT DO NOTHING

Hors ligne

Pied de page des forums