Preciso atualizar uma tabela de outra e preciso atualizar todas as colunas. Além de listar todas as colunas da SET
cláusula, existe uma maneira de atualizá-las todas de uma vez? Como isso:
update tableA
set * = tableB.*
from tableB where tableA.id = tableB.id
Eu tentei no psql, não funciona. Eu tenho que listar todas as colunas como esta:
update tableA
set c1 = tableB.c1, c2 = tableB.c2, ...
from tableB where tableA.id = tableB.id
tableB
é criado, use create .. like tableA
. Então eles são basicamente idênticos. E a razão pela qual estou fazendo isso é que preciso carregar dados .csv em uma tabela temporária tableB
e atualizar com tableA
base nos novos dados do tableB
. tableA
precisa ser bloqueado o menos possível e tableA
precisa manter a integridade. Não tenho certeza 'excluir e inserir' seria uma boa opção?