Bonjour,
Je m'étais renseignée il y a quelques mois rapidement sur l'instruction MERGE et j'avais compris son fonctionnement seulement voilà, en approfondissant mes recherches, j'ai cru comprendre que POSTGRE n'avait pas implémenté cette instruction.
Aussi, j'ai donc regardé du côté des 'UPSERT' et de la solution de faire deux requêtes distinctes mais j'ai du mal à comprendre et à voir ce qui conviendrais le plus à ma situation.
Voici donc ma requête MERGE :
Qui insert un nouvel individu s'il n'est pas dans la table 'personnel' ou met à jour le nom de son équipe s'il existe déjà. ('rsmind' est une table de travail/temporaire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 MERGE INTO personnel t1 USING (SELECT DISTINCT individu, equipe FROM rsmind) t2 ON (t1.nom=t2.individu) WHEN MATCHED THEN UPDATE SET t1.equipe=t2.equipe WHEN NOT MATCHED THEN INSERT (t1.nom,t1.equipe) VALUES (t2.individu,t2.equipe);
Aussi, pourriez vous m'aider à formuler cette requête pour PostgreSql ?
PS: La solution de vider et remplir la table n'est pas envisageable.
Merci d'avance et Bonne journée !
Partager