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 :
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);
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)

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 !