다른 테이블에서 테이블을 업데이트해야하며 모든 열을 업데이트해야합니다. SET
절의 모든 열을 나열하는 것 외에도 한 번에 모두 업데이트하는 방법이 있습니까? 이처럼 :
update tableA
set * = tableB.*
from tableB where tableA.id = tableB.id
psql에서 시도했지만 작동하지 않습니다. 다음과 같이 모든 열을 나열해야합니다.
update tableA
set c1 = tableB.c1, c2 = tableB.c2, ...
from tableB where tableA.id = tableB.id
tableB
사용하여 생성됩니다 create .. like tableA
. 따라서 기본적으로 동일합니다. 그리고 내가하는 이유는 .csv 데이터를 임시 테이블에로드 tableB
한 다음 tableA
의 새 데이터를 기반으로 업데이트 해야하기 때문 입니다 tableB
. tableA
가능한 한 적게 잠겨 tableA
무결성을 유지해야합니다. '삭제 후 삽입'이 좋은 옵션인지 잘 모르겠습니다.