Insertion dans une table à partir de deux tables différentes

Maha44 Messages postés 1 Date d'inscription mardi 2 mars 2010 Statut Membre Dernière intervention 20 juillet 2010 - 20 juil. 2010 à 16:22
EricSQL Messages postés 33 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 24 février 2011 - 22 févr. 2011 à 20:44
Bonjour,

Je travaille sur une base de données PostgreSQL, et j'aimerai faire une requête qui permet de remplir une table b_donnees_brutes à partir de deux colonnes d'une tables dt et 7 autres d'une table a_declaration_parametre.

Le problème est que la table dt s'alimente quotidiennement et donc ma requête doit être lancée automatiquement en rajoutant seulement les nouvelles données de la table dt. J'ai fait donc une clé primaire pour éviter les doublons et ne copier que les données qui n'existent pas dans la table cible. mais j'ai l'erreur suivante :
ERREUR: la valeur d'une clé dupliquée rompt la contrainte unique « b_donnees_brutes_pkey »


Ma requête est la suivante :

INSERT INTO b_donnees_brutes ( id_parametre, site, type_materiel, date_donnee, valeur, utc, unite, code_validation, id_operateur, type_information)
SELECT id_declaration, a_declaration_parametre.site, a_declaration_parametre.type_materiel, evttime, evtvalue, a_declaration_parametre.utc, a_declaration_parametre.unite, a_declaration_parametre.code_validation, a_declaration_parametre.id_operateur, a_declaration_parametre.type_information
FROM a_declaration_parametre, dt, b_donnees_brutes
WHERE dt.evtcellule = a_declaration_parametre.id_topkapi 
AND b_donnees_brutes.date_donnee != dt.evttime


Est-ce que quelqu'un pourrait m'aider à résoudre mon problème ?
Merci par avance.

1 réponse

EricSQL Messages postés 33 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 24 février 2011
22 févr. 2011 à 20:44
Bonsoir,

tu peux utiliser un « not exists »

/Eric
0
Rejoignez-nous