Devo aggiornare una tabella da un'altra e ho bisogno di aggiornare tutte le colonne. Oltre a elencare ogni colonna nella SET
clausola, c'è un modo per aggiornarle tutte in una volta? Come questo:
update tableA
set * = tableB.*
from tableB where tableA.id = tableB.id
Ho provato in psql, non funziona. Devo elencare ogni colonna in questo modo:
update tableA
set c1 = tableB.c1, c2 = tableB.c2, ...
from tableB where tableA.id = tableB.id
tableB
viene creato uso create .. like tableA
. Quindi sono sostanzialmente identici. E il motivo per cui lo sto facendo è che devo caricare i dati .csv in una tabella temporanea tableB
e quindi aggiornarli in tableA
base ai nuovi dati in tableB
. tableA
deve essere bloccato il meno possibile e tableA
deve mantenere l'integrità. Non sono sicuro che 'Elimina quindi Inserisci' sarebbe una buona opzione?