PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment mettre à jour la table à partir de la table de liaison ?

Utilisez le FROM clause de UPDATE pour joindre temp_zip_type et zip_code_type et faites tout cela en une simple déclaration :

UPDATE zip_code z
SET    type_id = t.id
FROM   temp_zip_type tmp
JOIN   zip_code_type t ON t.value = tmp.temp_type
WHERE  z.zip_5_digit = tmp.temp_zip
AND    z.type_id IS DISTINCT FROM t.id;  -- avoid empty updates

J'ai ajouté la dernière ligne pour éviter les mises à jour vides. Cela peut être utile ou non. Détails :