J'ai besoin de mettre à jour une table à partir d'une autre et j'ai besoin de mettre à jour toutes les colonnes. Outre la liste de toutes les colonnes de la SETclause, existe-t-il un moyen de les mettre à jour simultanément? Comme ça:
update tableA
set * = tableB.*
from tableB where tableA.id = tableB.id
J'ai essayé en psql, ça ne marche pas. Je dois lister chaque colonne comme ceci:
update tableA
set c1 = tableB.c1, c2 = tableB.c2, ...
from tableB where tableA.id = tableB.id
tableBest créé utiliser create .. like tableA. Ils sont donc fondamentalement identiques. Et la raison pour laquelle je le fais est que je dois charger des données .csv dans une table temporaire tableB, puis mettre à jour en tableAfonction des nouvelles données dans tableB. tableAdoit être verrouillé le moins possible et tableAdoit conserver son intégrité. Je ne suis pas sûr que «supprimer puis insérer» serait une bonne option?