Necesito actualizar una tabla de otra, y necesito actualizar todas las columnas. Además de enumerar todas las columnas de la SET
cláusula, ¿hay alguna forma de actualizarlas todas a la vez? Me gusta esto:
update tableA
set * = tableB.*
from tableB where tableA.id = tableB.id
Lo intenté en psql, no funciona. Tengo que enumerar cada columna de esta manera:
update tableA
set c1 = tableB.c1, c2 = tableB.c2, ...
from tableB where tableA.id = tableB.id
tableB
Se crea uso create .. like tableA
. Entonces son básicamente idénticos. Y la razón por la que lo hago es que necesito cargar datos .csv en una tabla temporal tableB
y luego actualizarlos en tableA
función de los nuevos datos tableB
. tableA
necesita ser bloqueado lo menos posible y tableA
debe mantener la integridad. No estoy seguro de que 'eliminar y luego insertar' sea una buena opción.