동일한 데이터베이스에있는 테이블간에 일괄 삽입

bulkinsert postgresql sql sqlbulkcopy

문제

동일한 테이블 구조로 테이블 A에 삽입하는 가장 빠른 방법 B :

INSERT INTO A
SELECT * FROM B

테이블 A에서 테이블의 이름을 바꿀 수 없습니다. 쿼리가 실행될 때 테이블을 읽지 않고 알 수 없으며 테이블 B를 테이블 A와 동일하게 수정하는 동적 스크립트를 만드는 것이 불가능하기 때문입니다. 또한 테이블 A에는 테이블이 있습니다 일부보기는 삭제하기가 어렵습니다.

데이터베이스 사용자가 파일 및 디렉토리에 대한 권한이 없으므로 COPY 명령을 사용하여 COPY TO 및 COPY FROM을 수행 할 수 없습니다.

COPY A FROM (SELECT * FROM B) 을 수행하는 방법이 있습니까?

PostgreSQL 버전 9.2.

인기 답변

귀하의 질문에 정답이 명시되어 있습니다 :

INSERT INTO A
SELECT * FROM B;

그게 당신이 필요한 전부입니다.

A가 아직 존재하지 않으면 이제 다음과 같이 할 수도 있습니다.

CREATE TABLE A (LIKE B INCLUDING ALL);
INSERT INTO A SELECT * FROM B;


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.