sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo actualizar la tabla desde la tabla de enlace?

Use el FROM cláusula de UPDATE para unirse a temp_zip_type y zip_code_type y hazlo todo en una sola declaración:

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

Agregué la última línea para evitar actualizaciones vacías. Puede o no ser útil. Detalles: